2013-10-16 32 views
0

我已經編寫了一個客戶端/服務器應用程序,它將在遠程計算機上使用Process.Start啓動一個.exe文件。我的家庭網絡上有4臺電腦,我在PC2上設置了服務器應用程序,並在PC1上設置了客戶端應用程序,然後使用套接字和TCP開始在PC2上收聽。然後,當我準備好時,我發送一個命令從PC1啓動一個特定的程序,我得到的是一個'Windows安全'盒,要求我'以不同的用戶身份運行',它給了我一個用戶名和密碼框來輸入我鍵入一個管理員用戶和相關的密碼盒子消失,程序按預期啓動,問題是我不想在遠程PC上鍵入用戶名和密碼,每次我想在遠程啓動程序時PC。我可以發送命令關閉我剛剛啓動的進程並且工作正常,但是如果我嘗試再次啓動該程序,則需要再次輸入用戶名和密碼。在C#中有沒有辦法解決這個問題?有沒有辦法通過C#自動發送用戶名和密碼,這樣我就不會一直彈出Windows安全框?在C#客戶端/服務器應用程序上獲取'Windows安全''以其他用戶身份運行'框

在使用Process.Start時,我使用ProcessStartInfo傳遞Verb參數「runas」,我認爲這會導致它作爲管理員運行。

+0

僅供參考,顯然ProcessStartInfo在其中具有此功能。通過將用戶名和密碼傳遞給startInfo.UserName和startInfo.Password屬性,您可以繞過安全窗口彈出窗口。我不知道這一點。 – roadmaster

+0

這是解決您的問題的權利,對吧?在這種情況下,你應該添加這個答案。 – SharpKnight

回答

0

通過將遠程PC管理用戶名和密碼傳遞到startInfo.UserName和startInfo.Password屬性,您可以繞過安全窗口彈出窗口。

相關問題