winapi_ui_automation/um/
shellscalingapi.rs1use shared::minwindef::UINT;
7use shared::windef::HMONITOR;
8use um::winnt::{HANDLE, HRESULT};
9ENUM!{enum PROCESS_DPI_AWARENESS {
10 PROCESS_DPI_UNAWARE = 0,
11 PROCESS_SYSTEM_DPI_AWARE = 1,
12 PROCESS_PER_MONITOR_DPI_AWARE = 2,
13}}
14ENUM!{enum MONITOR_DPI_TYPE {
15 MDT_EFFECTIVE_DPI = 0,
16 MDT_ANGULAR_DPI = 1,
17 MDT_RAW_DPI = 2,
18 MDT_DEFAULT = MDT_EFFECTIVE_DPI,
19}}
20extern "system" {
21 pub fn SetProcessDpiAwareness(
22 value: PROCESS_DPI_AWARENESS,
23 ) -> HRESULT;
24 pub fn GetProcessDpiAwareness(
25 hProcess: HANDLE,
26 value: *mut PROCESS_DPI_AWARENESS,
27 ) -> HRESULT;
28 pub fn GetDpiForMonitor(
29 hmonitor: HMONITOR,
30 dpiType: MONITOR_DPI_TYPE,
31 dpiX: *mut UINT,
32 dpiY: *mut UINT,
33 ) -> HRESULT;
34}
35ENUM!{enum SHELL_UI_COMPONENT {
36 SHELL_UI_COMPONENT_TASKBARS = 0,
37 SHELL_UI_COMPONENT_NOTIFICATIONAREA = 1,
38 SHELL_UI_COMPONENT_DESKBAND = 2,
39}}
40extern "system" {
41 pub fn GetDpiForShellUIComponent(
42 component: SHELL_UI_COMPONENT,
43 ) -> UINT;
44}