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 |
---|---|
|
Fungsi berhasil mengembalikan nilai DPI X dan Y untuk monitor yang ditentukan. |
|
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 |