我需要像CreateProcess一樣運行進程作爲管理員,我沒有訪問其清單,我也需要它的ProcessID。我不需要使用shell的runas,因爲它不會給我ProcessID。CreateProcess作爲管理員,並得到它的ProcessInformation像過程ID
如果不可能,那麼是否有任何功能來檢查?
我需要像CreateProcess一樣運行進程作爲管理員,我沒有訪問其清單,我也需要它的ProcessID。我不需要使用shell的runas,因爲它不會給我ProcessID。CreateProcess作爲管理員,並得到它的ProcessInformation像過程ID
如果不可能,那麼是否有任何功能來檢查?
呼叫ShellExecuteEx()
與"runas"
動詞來調用UAC提升。您可以指定SEE_MASK_NOCLOSEPROCESS
標誌,以便SHELLEXECUTEINFO.hProcess
字段將收到衍生進程HANDLE
。您可以使用GetProcessId()
查詢其進程ID。請務必在完成使用後致電CloseHandle()
關閉返回的HANDLE
。
非常感謝。 – AssassiN
https://msdn.microsoft.com/en-us/library/windows/desktop/ms682429%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 –
@HansPassant如何?任何以管理員身份運行的示例? – AssassiN
這裏的示例,只需提供管理員權限:https://msdn.microsoft.com/en-us/library/windows/desktop/aa379608(v=vs.85).aspx – kvr