以用户与UI交互的方式运行新进程

我有一个作为nt authority system运行的GUI进程。 我想要启动另一个进程(最好通过Process类)作为与GUI进程交互的用户。 如果我只是调用Process.Start ,新进程也将作为nt authority system运行,但我希望它是域用户。

编辑:为了澄清,我没有当前用户的用户名或密码。 我只想运行该过程,就好像用户自己启动它一样,而不必询问用户名/密码。


使用具有有效凭据的StartInfo属性。

Process proc = new Process();

proc.StartInfo.Domain = "YourDomain";
proc.StartInfo.UserName = "Username";
proc.StartInfo.Password = "YourPassword";

你可以这样做:

Process proc = new System.Diagnostics.Process();
System.Security.SecureString ssPwd = new System.Security.SecureString();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = "C:/YourPath/YourProcess.exe";
proc.StartInfo.Arguments = "Args"; //Arguments if any, otherwise delete this line
proc.StartInfo.Domain = "domainname";
proc.StartInfo.UserName = "username";
proc.StartInfo.Password = "password";
proc.Start();

var psi = new ProcessStartInfo(); 
psi.Verb = "runas"; 
psi.FileName = "notepad.exe";
Process.Start(psi);
链接地址: http://www.djcxy.com/p/61113.html

上一篇: Run new process as user interacting with UI

下一篇: Run a process from a windows service as the current user