DPI_AWARENESS
列挙型メンバー 4
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| DPI_AWARENESS_INVALID | -1 | 0xFFFFFFFF | 無効な DPI 認識です。これは無効な DPI 認識値です。 |
| DPI_AWARENESS_UNAWARE | 0 | 0x0 | DPI 非対応です。このプロセスは DPI の変更に合わせてスケーリングされず、常にスケール係数が 100% (96 DPI) であると見なされます。それ以外の DPI 設定では、システムによって自動的にスケーリングされます。 |
| DPI_AWARENESS_SYSTEM_AWARE | 1 | 0x1 | システム DPI 対応です。このプロセスは DPI の変更に合わせてスケーリングされません。DPI を一度だけ照会し、その値をプロセスの存続期間中を通じて使用します。DPI が変更されても、プロセスは新しい DPI 値に合わせて調整されません。DPI がシステムの値から変更された場合は、システムによって自動的に拡大または縮小されます。 |
| DPI_AWARENESS_PER_MONITOR_AWARE | 2 | 0x2 | モニターごとの DPI 対応です。このプロセスは作成時に DPI を確認し、DPI が変更されるたびにスケール係数を調整します。これらのプロセスはシステムによって自動的にスケーリングされることはありません。 |
公式ドキュメント
スレッド、プロセス、またはウィンドウの DPI (dots per inch) 設定を識別します。
解説(Remarks)
以前のバージョンの Windows では、DPI 値はアプリケーション全体に対して一度だけ設定されていました。そうしたアプリでは、PROCESS_DPI_AWARENESS 型がアプリケーション全体の DPI 認識の種類を決定していました。現在では、DPI 認識は個々のスレッド、ウィンドウ、またはプロセスのレベルで定義され、DPI_AWARENESS 型によって示されます。重点はプロセスレベルからスレッドレベルへ移りましたが、DPI 認識の種類そのものは同じで、非対応、システム対応、モニターごとの対応です。各 DPI の種類の詳細な説明と例については、PROCESS_DPI_AWARENESS を参照してください。
従来は、PROCESS_DPI_AWARENESS で説明されているように、アプリケーション マニフェストで dpiAware 設定を使用して DPI 認識レベルを定義することが推奨されていました。現在は DPI 認識がアプリケーション全体ではなくスレッドとウィンドウに関連付けられるため、アプリ マニフェストに新しい Windows 設定が追加されました。この設定は dpiAwareness で、マニフェストに両方が存在する場合は dpiAware 設定を上書きします。引き続きマニフェストの使用が推奨されますが、SetThreadDpiAwarenessContext を使用して、アプリの実行中に DPI 認識を変更することもできるようになりました。
アプリケーションに DPI_AWARENESS_PER_MONITOR_AWARE のウィンドウがある場合は、WM_DPICHANGED メッセージに応答して DPI を追跡する責任がアプリケーション側にあることに注意してください。
例
このスニペットは、アプリケーション マニフェストで DPI_AWARENESS_SYSTEM_AWARE の値を設定する方法を示します。
<dpiAwareness>System</dpiAwareness>
このスニペットは、アプリケーション マニフェストで DPI_AWARENESS_PER_MONITOR_AWARE の値を設定する方法を示します。
<dpiAwareness>PerMonitor</dpiAwareness>
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum DPI_AWARENESS : int {
DPI_AWARENESS_INVALID = -1,
DPI_AWARENESS_UNAWARE = 0,
DPI_AWARENESS_SYSTEM_AWARE = 1,
DPI_AWARENESS_PER_MONITOR_AWARE = 2
} DPI_AWARENESS;public enum DPI_AWARENESS : int
{
DPI_AWARENESS_INVALID = -1,
DPI_AWARENESS_UNAWARE = 0,
DPI_AWARENESS_SYSTEM_AWARE = 1,
DPI_AWARENESS_PER_MONITOR_AWARE = 2,
}Public Enum DPI_AWARENESS As Integer
DPI_AWARENESS_INVALID = -1
DPI_AWARENESS_UNAWARE = 0
DPI_AWARENESS_SYSTEM_AWARE = 1
DPI_AWARENESS_PER_MONITOR_AWARE = 2
End Enumimport enum
class DPI_AWARENESS(enum.IntEnum):
DPI_AWARENESS_INVALID = -1
DPI_AWARENESS_UNAWARE = 0
DPI_AWARENESS_SYSTEM_AWARE = 1
DPI_AWARENESS_PER_MONITOR_AWARE = 2// DPI_AWARENESS
pub const DPI_AWARENESS_INVALID: i32 = -1;
pub const DPI_AWARENESS_UNAWARE: i32 = 0;
pub const DPI_AWARENESS_SYSTEM_AWARE: i32 = 1;
pub const DPI_AWARENESS_PER_MONITOR_AWARE: i32 = 2;// DPI_AWARENESS
const (
DPI_AWARENESS_INVALID int32 = -1
DPI_AWARENESS_UNAWARE int32 = 0
DPI_AWARENESS_SYSTEM_AWARE int32 = 1
DPI_AWARENESS_PER_MONITOR_AWARE int32 = 2
)const
DPI_AWARENESS_INVALID = -1;
DPI_AWARENESS_UNAWARE = 0;
DPI_AWARENESS_SYSTEM_AWARE = 1;
DPI_AWARENESS_PER_MONITOR_AWARE = 2;// DPI_AWARENESS
pub const DPI_AWARENESS_INVALID: i32 = -1;
pub const DPI_AWARENESS_UNAWARE: i32 = 0;
pub const DPI_AWARENESS_SYSTEM_AWARE: i32 = 1;
pub const DPI_AWARENESS_PER_MONITOR_AWARE: i32 = 2;const
DPI_AWARENESS_INVALID* = -1
DPI_AWARENESS_UNAWARE* = 0
DPI_AWARENESS_SYSTEM_AWARE* = 1
DPI_AWARENESS_PER_MONITOR_AWARE* = 2enum DPI_AWARENESS : int {
DPI_AWARENESS_INVALID = -1,
DPI_AWARENESS_UNAWARE = 0,
DPI_AWARENESS_SYSTEM_AWARE = 1,
DPI_AWARENESS_PER_MONITOR_AWARE = 2,
}#define global DPI_AWARENESS_INVALID 0xFFFFFFFF
#define global DPI_AWARENESS_UNAWARE 0x0
#define global DPI_AWARENESS_SYSTEM_AWARE 0x1
#define global DPI_AWARENESS_PER_MONITOR_AWARE 0x2