Fungsi GetDpiForMonitor (shellscalingapi.h)

Mengkueri titik per inci (dpi) tampilan.

Sintaks

HRESULT GetDpiForMonitor(
  [in]  HMONITOR         hmonitor,
  [in]  MONITOR_DPI_TYPE dpiType,
  [out] UINT             *dpiX,
  [out] UINT             *dpiY
);

Parameter

[in] hmonitor

Menangani monitor yang sedang dikueri.

[in] dpiType

Jenis DPI yang sedang dikueri. Nilai yang mungkin berasal dari enumerasi MONITOR_DPI_TYPE .

[out] dpiX

Nilai DPI di sepanjang sumbu X. Nilai ini selalu mengacu pada tepi horizontal, bahkan ketika layar diputar.

[out] dpiY

Nilai DPI di sepanjang sumbu Y. Nilai ini selalu mengacu pada tepi vertikal, bahkan ketika layar diputar.

Menampilkan nilai

Fungsi ini mengembalikan salah satu nilai berikut.

Menampilkan kode Deskripsi
S_OK
Fungsi berhasil mengembalikan nilai DPI X dan Y untuk monitor yang ditentukan.
E_INVALIDARG
Handel, jenis DPI, atau pointer yang diteruskan tidak valid.

Keterangan

API ini tidak sadar DPI dan tidak boleh digunakan jika utas panggilan sadar DPI per monitor. Untuk versi API yang mengetahui DPI, lihat GetDpiForWindow.

Ketika Anda memanggil GetDpiForMonitor, Anda akan menerima nilai DPI yang berbeda tergantung pada kesadaran DPI tentang aplikasi panggilan. Kesadaran DPI adalah properti tingkat aplikasi yang biasanya ditentukan dalam manifes aplikasi. Untuk informasi selengkapnya tentang nilai kesadaran DPI, lihat PROCESS_DPI_AWARENESS. Tabel berikut menunjukkan bagaimana hasilnya akan berbeda berdasarkan nilai PROCESS_DPI_AWARENESS aplikasi Anda.

PROCESS_DPI_UNAWARE 96 karena aplikasi tidak menyadari faktor skala lainnya.
PROCESS_SYSTEM_DPI_AWARE Nilai yang diatur ke DPI sistem karena aplikasi mengasumsikan semua aplikasi menggunakan DPI sistem.
PROCESS_PER_MONITOR_DPI_AWARE Nilai DPI aktual yang ditetapkan oleh pengguna untuk tampilan tersebut.
 

Nilai *dpiX dan *dpiY identik. Anda hanya perlu merekam salah satu nilai untuk menentukan DPI dan merespons dengan tepat.

Saat MONITOR_DPI_TYPEMDT_ANGULAR_DPI atau MDT_RAW_DPI, nilai DPI yang dikembalikan tidak menyertakan perubahan apa pun yang dilakukan pengguna ke DPI dengan menggunakan kontrol penggerak penggantian penskalakan desktop di Panel Kontrol.

Untuk informasi selengkapnya tentang pengaturan DPI di Panel Kontrol, lihat laporan resmi Menulis DPI-Aware Aplikasi Desktop di Pratinjau Windows 8.1.

Persyaratan

   
Klien minimum yang didukung Windows 8.1 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2012 R2 [hanya aplikasi desktop]
Target Platform Windows
Header shellscalingapi.h
Pustaka Shcore.lib
DLL Shcore.dll

Lihat juga

PROCESS_DPI_AWARENESS