问题
When I try to start Firefox using Process.Start and ProcessStartInfo (.NET) everything seems to work fine. But when I specify a username and password of another account (a member of Users), nothing seems to happen. The same code works fine with Calc.exe or IE. This is weird. Any ideas?
Here is the code:
System.Diagnostics.ProcessStartInfo pInfo = new System.Diagnostics.ProcessStartInfo();
pInfo.CreateNoWindow = false;
pInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
pInfo.WorkingDirectory = "{WorkingDirectory}";
pInfo.Arguments = "{CommandLineArgs}";
pInfo.FileName = "{ExecutableAddress}";
pInfo.ErrorDialog = true;
pInfo.UseShellExecute = false;
pInfo.UserName = "{LimitedAccountUserName}";
pInfo.Password = "{SecureLimitedAccountPassword}";
System.Diagnostics.Process.Start(pInfo);
Thanks everyone.
回答1:
In order to load an application with a different credential, if that app uses the user profile, LoadUserProfile property of the ProcessStartInfo should be set to true.
来源:https://stackoverflow.com/questions/388513/starting-firefox-using-process-start-firefox-not-starting-when-you-set-usename