在这个小程序中,为什么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