我是C#编程的新手,我试图通过在exe中使用它们而不是直接从命令行运行来模糊一些凭据。这是关于Sysinternal的Autologon.exe。
命令行:
C:\ Autologon.exe管理员。为Pa $$字
C#:
System.Diagnostics.Process.Start(@“C:\ Autologon.exe”,@“Admin.Pa $$ word”);
上面的命令行版本在Windows 7中没有引起UAC问题,但是每当我执行它时,C#版本都会提示我运行或取消。这是我编写的一个非常大而复杂的自动化实用程序的一小部分,因此提示很糟糕。我再次执行命令行版本时没有收到任何提示,但是在通过我的C#exe执行它时会收到提示。非常感谢帮助。
提前致谢!
答案 0 :(得分:0)
将其更改为以下内容:
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.FileName = @“C:\ Autologon.exe” ;
startInfo.Arguments =“Admin.Pa $$ word”;
startInfo.UseShellExecute = false;
System.Diagnostics.Process.Start(startInfo);
关键是UseShellExecute = false