openprocess
getwindowthreadprocessid findwindow
getcurrentprocess 0xffffffff 伪句柄
duplicatehandle
writeprocessmemery
virtualprotectex
内存分页
跨进程使用句柄
获取进程句柄
OpenProcess
: 打开现有的本地处理对象
HANDLE OpenProcess(
DWORD dwDesiredAccess, //访问权限
BOOL bInheritHandle, //是否允许子进程继承句柄
DWORD dwProcessId //要打开的进程程标识符
);
示例 :
HWND hWnd = ::FindWindow(NULL, "Test");
DWORD dwPid = 0;
GetWindowThreadProcessId(Hwnd, &dwPid);
HANDLE hProc = ::OpenProcess(
PROCESS_ALL_ACCESS,
FALSE,
dwPid
);
继承
子进程继承父进程已经打开的句柄
条件 :