Fungsi SetProcessDpiAwarenessContext (winuser.h)
Mengatur proses saat ini ke konteks kesadaran titik per inci (dpi) tertentu. Konteks kesadaran DPI berasal dari nilai DPI_AWARENESS_CONTEXT .
Catatan
Disarankan agar Anda mengatur kesadaran DPI default proses melalui manifes aplikasi, bukan panggilan API. Lihat Mengatur kesadaran DPI default untuk proses untuk informasi selengkapnya. Mengatur kesadaran DPI default proses melalui panggilan API dapat menyebabkan perilaku aplikasi yang tidak terduga.
Sintaks
BOOL SetProcessDpiAwarenessContext(
[in] DPI_AWARENESS_CONTEXT value
);
Parameter
[in] value
Handel DPI_AWARENESS_CONTEXT untuk diatur.
Mengembalikan nilai
Fungsi ini mengembalikan TRUE jika operasi berhasil, dan FALSE sebaliknya. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Kemungkinan kesalahan ERROR_INVALID_PARAMETER untuk input yang tidak valid, dan ERROR_ACCESS_DENIED jika mode kesadaran API default untuk proses telah ditetapkan (melalui panggilan API sebelumnya atau dalam manifes aplikasi).
Keterangan
API ini adalah versi yang lebih canggih dari API SetProcessDpiAwareness yang sudah ada sebelumnya, memungkinkan default proses diatur ke nilai DPI_AWARENESS_CONTEXT yang lebih halus. Yang paling penting, ini memungkinkan Anda untuk secara terprogram mengatur Per Monitor v2 sebagai nilai default proses, yang tidak mungkin dengan API sebelumnya.
Metode ini menetapkan DPI_AWARENESS_CONTEXT default untuk semua utas dalam aplikasi. Utas individual dapat mengubah kesadaran DPI mereka dari default dengan metode SetThreadDpiAwarenessContext .
Anda harus memanggil API ini sebelum memanggil API apa pun yang bergantung pada kesadaran DPI (termasuk sebelum membuat UI apa pun dalam proses Anda). Setelah kesadaran API diatur untuk aplikasi, panggilan apa pun di masa mendatang ke API ini akan gagal. Ini benar terlepas dari apakah Anda mengatur kesadaran DPI dalam manifes atau dengan menggunakan API ini.
Jika tingkat kesadaran DPI tidak diatur, nilai defaultnya adalah DPI_AWARENESS_CONTEXT_UNAWARE.
Persyaratan
Klien minimum yang didukung | Windows 10, versi 1703 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2016 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winuser.h |
Pustaka | User32.lib |
DLL | User32.dll |