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

こちらもご覧ください

DPI_AWARENESS_CONTEXT

SetThreadDpiAwarenessContext

プロセスの既定の DPI 認識の設定