在 Visual Studio 2005 中创建的默认未修改项目中运行以下命令会在 vista 和 windows 7 中显示“是”消息框。有人知道为什么吗?IsProcessDPIAware 在这里描述:http: //msdn.microsoft.com/en-us/library/aa969261 (VS.85).aspx 。
HMODULE hUser32 = LoadLibrary(L"user32.dll");
typedef BOOL (*fnPtr)();
fnPtr IsProcessDPIAware = (fnPtr)GetProcAddress(hUser32, "IsProcessDPIAware");
if(IsProcessDPIAware) {
if(IsProcessDPIAware() == TRUE) {
MessageBox(NULL, L"yes", NULL, MB_OK);
}
else {
MessageBox(NULL, L"no", NULL, MB_OK);
}
}
else {
MessageBox(NULL, L"no fn", NULL, MB_OK);
}
FreeLibrary(hUser32);
我在 vwmare 中同时运行 vista 和 windows 7,如果这很重要的话。