Skip to content

Commit e3edaf5

Browse files
authored
Add files via upload
1 parent 849381c commit e3edaf5

1 file changed

Lines changed: 64 additions & 2 deletions

File tree

voidmouse.c

Lines changed: 64 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,71 @@ int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmd
6363
MSG msg;
6464
int ret;
6565

66-
// AllocConsole();
66+
// AllocConsole();
6767
printf("voidmouse\n");
6868

69+
{
70+
HMODULE user32_hmod;
71+
72+
user32_hmod = GetModuleHandleA("user32.dll");
73+
if (user32_hmod)
74+
{
75+
printf("user32\n");
76+
77+
{
78+
BOOL (WINAPI *SetProcessDpiAwarenessContext_proc)(int value);
79+
80+
SetProcessDpiAwarenessContext_proc = (void *)GetProcAddress(user32_hmod,"SetProcessDpiAwarenessContext");
81+
82+
if (SetProcessDpiAwarenessContext_proc)
83+
{
84+
printf("SetProcessDpiAwarenessContext_proc\n");
85+
86+
// DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2
87+
if (SetProcessDpiAwarenessContext_proc(-4))
88+
{
89+
printf("SetProcessDpiAwarenessContext_proc OK\n");
90+
}
91+
else
92+
{
93+
printf("SetProcessDpiAwarenessContext_proc FAILED %u\n",GetLastError());
94+
}
95+
}
96+
}
97+
98+
{
99+
HANDLE (WINAPI *GetThreadDpiAwarenessContext_proc)(void);
100+
101+
GetThreadDpiAwarenessContext_proc = (void *)GetProcAddress(user32_hmod,"GetThreadDpiAwarenessContext");
102+
103+
if (GetThreadDpiAwarenessContext_proc)
104+
{
105+
HANDLE ctx;
106+
107+
printf("GetThreadDpiAwarenessContext_proc\n");
108+
109+
ctx = GetThreadDpiAwarenessContext_proc();
110+
if (ctx)
111+
{
112+
int (WINAPI *GetAwarenessFromDpiAwarenessContext_proc)(HANDLE ctx);
113+
114+
printf("ctx %p\n",ctx);
115+
116+
GetAwarenessFromDpiAwarenessContext_proc = (void *)GetProcAddress(user32_hmod,"GetAwarenessFromDpiAwarenessContext");
117+
if (GetAwarenessFromDpiAwarenessContext_proc)
118+
{
119+
int level;
120+
121+
level = GetAwarenessFromDpiAwarenessContext_proc(ctx);
122+
123+
printf("DPI awareness level %d\n",level);
124+
}
125+
}
126+
}
127+
}
128+
}
129+
}
130+
69131
if (!install_hook())
70132
{
71133
printf("install hook failed\n");
@@ -101,4 +163,4 @@ int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmd
101163
int __cdecl main(int argc,char **argv)
102164
{
103165
return WinMain(0,0,0,0);
104-
}
166+
}

0 commit comments

Comments
 (0)