web-dev-qa-db-ja.com

コマンドラインからの高DPIスケーリングの上書き

Windows 10でOpenCVアプリをコンパイルしてビルドしていますが、いくつかの画像が表示されています。
高DPIスケーリング動作をオーバーライドして、「アプリケーション」に設定したい。

私は.exeファイルでこれをうまく行うことができます:右クリック->プロパティ->互換性タブとチェックボックスをチェックします:

enter image description here

スクリプトの一部としてそれを行うために使用できるコマンドラインツールはありますか?

10
Adi Shavit

batファイルスクリプトを作成します。

コマンドで変更するもの

アプリケーションが配置されている場所を確認してください

アプリケーションが64ビットの場合_"%programfiles%\<appfoldername>\<app>.exe"_

アプリケーションが32ビットの場合"%programfiles(x86)\<appfoldername>\<app>.exe"

_~HIGHDPIAWARE_オーバーライドの高DPIスケーリング動作の値を示します(アプリケーション)

_~DPIUNAWARE_オーバーライドの高DPIスケーリング動作の値を示します(System)

_"~GDIDPISCALING DPIUNAWARE"_オーバーライドの高DPIスケーリング動作の値を示します((システム拡張)二重引用符も追加します

私はこれをiTunes(64ビット)で実行しています。

特定のユーザー

_REG ADD "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /V "%programfiles%\iTunes\iTunes.exe" /T REG_SZ /D ~HIGHDPIAWARE /F
_

すべてのユーザー

_REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /V "%programfiles%\iTunes\iTunes.exe" /T REG_SZ /D ~HIGHDPIAWARE /F
_
11
Techie Gossip

前のアドバイスに従って、チルダの後のスペースを含むHKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersの値でreg値~ DPIUNAWAREを追加しました。

ただし、HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layersで現在のユーザーに対応する設定を設定して削除しない限り、これは機能しないことがわかりました。

したがって、私の解決策は上記のものに従いますが、HKCUキーを事前に設定およびリセットする必要があります。

0
Reinhard Mayr