2011-05-08 136 views
3

是否有可能通過提升用戶權限的QProcess啓動完全獨立的進程?QProcess用戶權限提升

例如,如果我的C++/QT應用程序運行作爲一個有限的用戶,可我的C++/Qt應用程序開始以管理員權限的另一個獨立的過程?

我暗示管理員用戶名和密碼,可在C++/QT應用程序,它是做第三方應用程序的啓動裏面。

回答

0

沒有直接的方式據我所知,但既然你有管理員帳戶的密碼,你可以通過runas命令來啓動。

如果你不知道runas命令,只需在命令shell中鍵入它,它應該給你你需要的所有信息。

+0

runas不能正常工作,因爲如果我運行runas然後提供所有參數...我不能根據我知道提供密碼作爲參數。這意味着我得到提示輸入管理員密碼。我想通過我的應用程序提供該密碼。 – user440297 2011-05-08 22:27:40

0

有特定於平臺的方式來做到這一點,通過在輸入管道。在Linux中,它是

system(「echo PASS | sudo -u root -S1 COMMAND」);

source)這是PHP的,但應該工作amywhere。

1

在Windows中,您應該爲您的應用程序創建一個清單,以指定它需要運行的特權級別。然後,您只需啓動應用程序。您將在較新的Windows版本上獲得UAC提示。但這是必需的,(恕我直言)正確。沒有辦法解決這個問題。

在linux下,您應該在安裝過程中爲您的應用程序設置一個粘性位,並擁有您想要執行的操作的正確用戶權限。

+0

感謝RedX。良好的信息,但這不能回答我的問題。我的應用程序不需要管理員權限。如果確實如此,我會按照你描述的方式要求這樣的特權。我的應用程序啓動需要管理員權限的第三方應用程序,並且在我試圖避免手動輸入pass的問題中。 – user440297 2011-05-14 17:06:24