如何通过具有特定访问权限的WinAPI从当前应用程序启动子进程(在我的情况下为PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_QUERY_INFORMATION
)?
在CreateProcess
和ShellExecuteEx
函数的情况下,我没有看到任何相关参数。或者我应该像往常一样创建流程,然后使用带有所需标志的函数OpenProcess
?
答案 0 :(得分:0)
如果您希望父进程具有对新进程句柄的特定访问权限,则可能更容易使用OpenProcess()
HANDLE hProcess = ::OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid);
if (!hProcess)
return ::GetLastError();
// get process token
HANDLE hToken = NULL;
if (::OpenProcessToken(hProcess, TOKEN_QUERY, &hToken))
...