次の方法で共有


GetScaleFactorForMonitor 関数 (shellscalingapi.h)

特定のモニターのスケールファクターを取得します。 この関数は 、GetScaleFactorForDevice に置き換えられます。

構文

HRESULT GetScaleFactorForMonitor(
  [in]  HMONITOR            hMon,
  [out] DEVICE_SCALE_FACTOR *pScale
);

パラメーター

[in] hMon

モニターのハンドル。

[out] pScale

この関数が正常に返されると、この値は、指定されたモニターのスケールファクターを指定する DEVICE_SCALE_FACTOR 値のいずれかを指します。

関数呼び出しが失敗した場合、この値は有効なスケール ファクターを指しているため、アプリは間違ったサイズのリソースで続行することを選択できます。

戻り値

この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。

解説

アプリ ウィンドウはモニター間で移動できるため、コードでは、RegisterScaleChangeEvent によって登録されたスケール変更イベントに加えて、WM_WINDOWPOSCHANGED メッセージを処理する必要があります。 WM_WINDOWPOSCHANGED メッセージに応答して、MonitorFromWindow を呼び出し、次に GetScaleFactorForMonitor を呼び出して、アプリ ウィンドウが表示されているモニターのスケールファクターを取得します。 その後、アセットを再読み込みしてレイアウトを変更することで、コードは 1 インチあたりのドット数 (dpi) の変更に対応できます。

要件

   
サポートされている最小のクライアント Windows 8.1 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shellscalingapi.h
Library Shcore.lib
[DLL] Shcore.dll

関連項目

RegisterScaleChangeEvent

UnregisterScaleChangeEvent