在這個小程序中,爲什麼GetCurrentProcess()
返回-1?爲什麼GetCurrentProcess返回-1?
int _tmain(int argc, _TCHAR* argv[]) {
HANDLE h = GetCurrentProcess(); // ret -1
printf("0x%x\n",(DWORD)h);
return 0;
}
怎麼了?
在Kernel32.GetCurrentProcess
我看到這一點:
OR EAX,FFFFFFFF ; EAX - ?
RETN
這是一個自引用特例。你可以通過使用'OpenProcess(...)'來獲得代表你的過程的實際'HANDLE',如果你需要它的話(可能是IPC)。 – 2016-09-28 10:57:18