以管理员身份 CreateProcess 并获取其 ProcessInformation Like ProcessID
Posted
技术标签:
【中文标题】以管理员身份 CreateProcess 并获取其 ProcessInformation Like ProcessID【英文标题】:CreateProcess as Administrator and get its ProcessInformation Like ProcessID 【发布时间】:2016-03-08 23:45:36 【问题描述】:我需要像 CreateProcess 这样的东西来以管理员身份运行进程,我没有访问它的清单,我还需要它的 ProcessID。我不需要在 shell 中使用 runas,因为它不会给我 ProcessID。
如果不可能,那么有什么功能可以检查吗?
【问题讨论】:
msdn.microsoft.com/en-us/library/windows/desktop/… @HansPassant 怎么样?!以管理员身份运行的任何示例? 此处为示例,只需提供管理员凭据:msdn.microsoft.com/en-us/library/windows/desktop/… 【参考方案1】:使用 "runas"
动词调用 ShellExecuteEx()
以调用 UAC 提升。您可以指定SEE_MASK_NOCLOSEPROCESS
标志,以便SHELLEXECUTEINFO.hProcess
字段将接收生成的进程HANDLE
。您可以使用GetProcessId()
查询其进程ID。使用完后一定要调用CloseHandle()
关闭返回的HANDLE
。
【讨论】:
以上是关于以管理员身份 CreateProcess 并获取其 ProcessInformation Like ProcessID的主要内容,如果未能解决你的问题,请参考以下文章
Windows 7 CreateProcess,子进程无法写入文件?
windows 下在进程中使用createprocess创建一个窗口进程,并获取这个窗口HWND句柄
idea2021使用“svn“到项目报错Error:Cannot run program “svn“ (in directory “D:XXXXXX“):CreateProcess error=2,
idea2021使用“svn“到项目报错Error:Cannot run program “svn“ (in directory “D:XXXXXX“):CreateProcess error=2,