mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-24 17:49:52 +01:00
SetProcessDpiAwareness
This commit is contained in:
parent
ae1b46bce2
commit
308413323c
@ -116,4 +116,10 @@ struct IDirectDrawImplVtbl
|
|||||||
HRESULT(__stdcall *WaitForVerticalBlank)(IDirectDrawImpl *, DWORD, HANDLE);
|
HRESULT(__stdcall *WaitForVerticalBlank)(IDirectDrawImpl *, DWORD, HANDLE);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef enum PROCESS_DPI_AWARENESS {
|
||||||
|
PROCESS_DPI_UNAWARE = 0,
|
||||||
|
PROCESS_SYSTEM_DPI_AWARE = 1,
|
||||||
|
PROCESS_PER_MONITOR_DPI_AWARE = 2
|
||||||
|
} PROCESS_DPI_AWARENESS;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
27
src/main.c
27
src/main.c
@ -58,13 +58,28 @@ BOOL WINAPI DllMain(HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
|
|||||||
|
|
||||||
//SetProcessPriorityBoost(GetCurrentProcess(), TRUE);
|
//SetProcessPriorityBoost(GetCurrentProcess(), TRUE);
|
||||||
|
|
||||||
HMODULE user32 = GetModuleHandle("user32.dll");
|
BOOL setDpiAware = FALSE;
|
||||||
typedef BOOL (__stdcall* SetProcessDPIAware_)();
|
HMODULE hShcore = GetModuleHandle("shcore.dll");
|
||||||
if(user32)
|
typedef HRESULT (__stdcall* SetProcessDpiAwareness_)(PROCESS_DPI_AWARENESS value);
|
||||||
|
if(hShcore)
|
||||||
{
|
{
|
||||||
SetProcessDPIAware_ setProcessDPIAware = (SetProcessDPIAware_)GetProcAddress(user32, "SetProcessDPIAware");
|
SetProcessDpiAwareness_ setProcessDpiAwareness = (SetProcessDpiAwareness_)GetProcAddress(hShcore, "SetProcessDpiAwareness");
|
||||||
if (setProcessDPIAware)
|
if (setProcessDpiAwareness)
|
||||||
setProcessDPIAware();
|
{
|
||||||
|
HRESULT result = setProcessDpiAwareness(PROCESS_PER_MONITOR_DPI_AWARE);
|
||||||
|
setDpiAware = result == S_OK || result == E_ACCESSDENIED;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!setDpiAware)
|
||||||
|
{
|
||||||
|
HMODULE hUser32 = GetModuleHandle("user32.dll");
|
||||||
|
typedef BOOL (__stdcall* SetProcessDPIAware_)();
|
||||||
|
if(hUser32)
|
||||||
|
{
|
||||||
|
SetProcessDPIAware_ setProcessDPIAware = (SetProcessDPIAware_)GetProcAddress(hUser32, "SetProcessDPIAware");
|
||||||
|
if (setProcessDPIAware)
|
||||||
|
setProcessDPIAware();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
timeBeginPeriod(1);
|
timeBeginPeriod(1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user