2008-12-03 70 views
1

在應用程序中,我需要使用其他用戶的憑據執行其他程序。目前我使用System.Diagnostics.Process.Start執行程序:C#:加載漫遊配置文件並以用戶身份執行程序

public static Process Start(
    string fileName, 
    string arguments, 
    string userName, 
    SecureString password, 
    string domain 
) 

然而這個功能不加載從網漫遊配置文件 - 這是必需的。

我可以使用「runas/profile ...」加載配置文件並執行該命令,但會要求輸入密碼。必須有更優雅的方式...

但是在哪裏?

回答

5

我的解決方案(基於leppie的提示):

 Process p = new Process(); 

     p.StartInfo.FileName = textFilename.Text; 
     p.StartInfo.Arguments = textArgument.Text; 
     p.StartInfo.UserName = textUsername.Text; 
     p.StartInfo.Domain = textDomain.Text; 
     p.StartInfo.Password = securePassword.SecureText; 

     p.StartInfo.LoadUserProfile = true; 
     p.StartInfo.UseShellExecute = false; 

     try { 
      p.Start(); 
     } catch (Win32Exception ex) { 
      MessageBox.Show("Error:\r\n" + ex.Message); 
     } 
+1

不錯,我想更多的人應該張貼他們的最終解決方案:) – leppie 2008-12-03 18:41:25

相關問題