我的代码是在win7 32bit上运行的,但是我用EnumProcessModules的时候返回false,getlasterror()返回错误码299,说明程序是32bit,这个语句不能在64bit系统上运行。
我想知道为什么会发生这种情况,为什么系统认为我在 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.这个错误只发生在我的一台测试机器上,其他都很好。那么这个问题可能与特定的机器或系统配置有关吗?