2012-06-25 20 views
0

我在Windows 2008上有三個帳戶:Admin,User1,User2,User3。我想在這些User1,User2,User3帳戶上使用c#從Admin帳戶運行GUI程序。問題是,使用Process.Start與User1或任何其他用戶憑據時,GUI應用程序在管理用戶桌面上啓動。我想在User1桌面上運行程序。 我想模擬手動行爲,如我們所做的:切換用戶,用User1登錄,運行GUI程序。 可以這樣做嗎?如何使用不同的用戶運行GUI程序

+1

我不是100%肯定,但我認爲你可以使用運行方式:http://ss64.com/nt/runas.html –

+0

你真的要切換用戶?如何只是模擬一個http://stackoverflow.com/questions/125341/impersonation-in-net – Slugart

回答

1

你應該能夠使用不同的用戶憑證運行程序,如果這就是你的意思。

var processInfo = new ProcessStartInfo 
{ 
    FileName = "app.exe", 
    UserName = "Username", 
    Domain = "yourdomain or leave blank", 
    Password = "password", 
    UseShellExecute = false, 
}; 
Process.Start(processInfo); 
+0

這不工作,因爲登錄的用戶使用HOST USER DESKTOP。假設我在管理員帳戶上運行HOST應用程序。主機應用程序使用User1憑據運行GUI應用程序。已啓動的應用程序將使用User1憑據運行,但在管理桌面上運行。 – Tomas

+0

您是否曾獲得過解決方案,即在用戶的桌面上產生程序?謝謝! – joelc

相關問題