OpenProcess
函数功能描述:打开一已存在的进程
函数原形:
HANDLE OpenProcess(
DWORD dwDesiredAccess,
BOOL bInheritHandle,
DWORD dwProcessId
);
参数:
DWORD dwDesiredAccess 访问权限 [输入]
PROCESS_ALL_ACCESS 所有允许的访问权限
PROCESS_CREATE_PROCESS 内部使用
PROCESS_CREATE_THREAD 允许CreateRemoteThread使用返回的Handle
PROCESS_DUP_HANDLE 允许DuplicateHandle
PROCESS_QUERY_INFORMATION 允许GetExitCodeProcess和GetPriorityClass获取process的信息
PROCESS_SET_QUOTA 允许AssignProcessToJobObject和SetProcessWorkingSetSize使用
PROCESS_SET_INFORMATION 允许SetPriorityClass使用
PROCESS_TERMINATE 允许TerminateProcess使用
PROCESS_VM_OPERATION 允许VirtualProtectEx和WriteProcessMemory修改进程的内存
PROCESS_VM_READ 允许ReadProcessMemory读取进程的内存
PROCESS_VM_WRITE 允许WriteProcessMemory写进程的内存
SYNCHRONIZE NT/2000后允许Wait等函数等待进程结束
BOOL bInheritHandle 是否可继承 [输入]
是否允许得到的进程句柄被后创建的子进程继承
DWORD dwProcessId 进程ID号 [输入]
进程的ID号
返回:
进程的句柄。
运行环境:
Windows 95/98/Me
Windows NT/2000以后,NT3.1以后
头文件:
Windows.h
连接库:
Kernel32.lib
例子:
HANDLE process = OpenProcess(
PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,
FALSE,
process_ids[i]);