我的代碼在win7 32bit上運行,但是當我使用EnumProcessModules
時,它返回false並且getlasterror()返回錯誤代碼299,它聲明程序是32位,並且此語句不能在64位系統上運行。EnumProcessModules失敗,在32位win7上出現錯誤299
我想知道爲什麼會發生這種情況,爲什麼系統認爲我在64位操作系統上運行?
的代碼我使用:
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwPid);
if (hProcess)
{
HMODULE hMod = NULL;
DWORD cbNeeded = 0;
if (EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded))
{
//do something here...
}
}
dwPid是我要處理的進程的ID。
PS.This錯誤只發生在我的一臺測試機器上,其他的都沒問題。所以這個問題可能與特定的機器或系統配置有關?
您的標題說'EnumProcessModulesEx',並且正文說'EnumProcessModules'。這是什麼?這兩個返回'BOOL',所以我不確定「返回的錯誤代碼爲299」是什麼意思。你的意思是「失敗後,GetLastError返回299」?請[編輯]你的問題,包括你的代碼,並更清楚你的問題。 –
對不起肯,我的錯 – ericchan1336
好吧,你有一半。謝謝。 :-)再次請包括您的代碼。如果我們首先看不到你在做什麼,那很難說出什麼可能是錯誤的。 –