2010-11-13 133 views
1

在Visual Studio 2005中創建的默認未修改項目中運行以下代碼,會在vista和Windows 7中顯示「yes」消息框。有誰知道爲什麼? IsProcessDPIAware在這裏描述:http://msdn.microsoft.com/en-us/library/aa969261(VS.85).aspxIsProcessDPIAware總是返回true

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,如果有問題的話。

回答