2016-03-08 69 views
0

我需要像CreateProcess一樣運行進程作爲管理員,我沒有訪問其清單,我也需要它的ProcessID。我不需要使用shell的runas,因爲它不會給我ProcessID。CreateProcess作爲管理員,並得到它的ProcessInformation像過程ID

如果不可能,那麼是否有任何功能來檢查?

See this image

+0

https://msdn.microsoft.com/en-us/library/windows/desktop/ms682429%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 –

+1

@HansPassant如何?任何以管理員身份運行的示例? – AssassiN

+0

這裏的示例,只需提供管理員權限:https://msdn.microsoft.com/en-us/library/windows/desktop/aa379608(v=vs.85).aspx – kvr

回答

2

呼叫ShellExecuteEx()"runas"動詞來調用UAC提升。您可以指定SEE_MASK_NOCLOSEPROCESS標誌,以便SHELLEXECUTEINFO.hProcess字段將收到衍生進程HANDLE。您可以使用GetProcessId()查詢其進程ID。請務必在完成使用後致電CloseHandle()關閉返回的HANDLE

+0

非常感謝。 – AssassiN

相關問題