2014-09-26 125 views
2

有什麼方法可以在Go中提升新進程或線程到管理員?在Go中請求UAC提升

看起來好像ShellExecute()在Go中不可用,並且不可能通過CreateProcess()提升。我不知道還有什麼可能的。

回答

3

您可以嘗試檢查項目w32:它有一個shell32.go ShellExecute()可能有用。

w32是用於Go編程語言的Windows API的包裝。

它將win32 apis包裝爲「Go style」,使它們更易於使用。

+1

'SE_ERR_DDEBUSY':[Claude](http://en.wikipedia.org/wiki/Claude_Debussy)會批准。 – thwd 2014-09-26 21:28:41

+0

謝謝,正是我所需要的。奇蹟般有效。 Btw:[gform,AllenDang的用於Go的Windows GUI工具包](https://github.com/AllenDang/gform)看起來也非常有用。 – 2014-09-27 10:14:36

0

CreateProcess()不支持運行提升進程,但有一個第三方下面的文章中CreateProcessElevated()功能,可以:

Vista UAC: The Definitive Guide

它還提供了其他幾項功能海拔版本,包括CreateProcessAsUserElevated()ShellExecuteElevated()