SetProcessDpiAwarenessContext 関数 (winuser.h)
現在のプロセスを、指定したドット/インチ (dpi) 認識コンテキストに設定します。 DPI 認識コンテキストは、 DPI_AWARENESS_CONTEXT 値から取得されます。
注意
API 呼び出しではなく、アプリケーション マニフェストを使用してプロセスの既定の DPI 認識を設定することをお勧めします。 詳細については、「 プロセスの既定の DPI 認識の設定 」を参照してください。 API 呼び出しを使用してプロセスの既定の DPI 認識を設定すると、予期しないアプリケーション動作が発生する可能性があります。
構文
BOOL SetProcessDpiAwarenessContext(
[in] DPI_AWARENESS_CONTEXT value
);
パラメーター
[in] value
設定 するDPI_AWARENESS_CONTEXT ハンドル。
戻り値
この関数は、操作が成功した場合は TRUE を返し、それ以外の場合は FALSE を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
無効な入力に対してエラーがERROR_INVALID_PARAMETERされる可能性があり、プロセスの既定の API 認識モードが既に (以前の API 呼び出しまたはアプリケーション マニフェスト内で) 設定されている場合にERROR_ACCESS_DENIED。
注釈
この API は、以前に既存の SetProcessDpiAwareness API のより高度なバージョンであり、プロセスの既定値をより細かい DPI_AWARENESS_CONTEXT 値に設定できます。 最も重要なのは、これにより、プログラムによって Per Monitor v2 をプロセスの既定値として設定できます。これは、前の API では不可能です。
このメソッドは、アプリケーション内のすべてのスレッドの既定の DPI_AWARENESS_CONTEXT を設定します。 個々のスレッドは、 SetThreadDpiAwarenessContext メソッドを使用して、DPI 認識を既定から変更できます。
DPI 認識に依存する API を呼び出す前に 、この API を呼び出す必要があります (プロセスで UI を作成する前を含む)。 アプリに対して API 認識が設定されると、この API の今後の呼び出しは失敗します。 これは、マニフェストで DPI 認識を設定するか、この API を使用するかに関係なく当てはまります。
DPI 認識レベルが設定されていない場合、既定値は DPI_AWARENESS_CONTEXT_UNAWARE。
要件
サポートされている最小のクライアント | Windows 10、バージョン 1703 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2016 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h |
Library | User32.lib |
[DLL] | User32.dll |