FKo*_*rni 5 c# windows uac admin process
我想启动另一个以管理员身份运行的程序运行的程序.
问题是第二个程序需要使用outlook,如果程序以管理员身份运行,这是不可能的.主程序需要以管理员身份运行.
我确实已经提出了这两个解决方案:
Process.Start("cmd.exe", @"/C runas.exe /savecred /user:" + Environment.UserDomainName + "\\" + Environment.UserName + " " + "\"SomeProgram.exe" + "\"");
Run Code Online (Sandbox Code Playgroud)
要么
Process.Start("explorer.exe", "SomeProgram.exe");
Run Code Online (Sandbox Code Playgroud)
但我对这两种解决方案都有疑问.第一个询问用户密码(仅在Windows重新启动后第一次).第二个probalby将来不会工作,因为据我所知,它被认为是一个错误,并可能修复了未来的更新.
所以我想知道有没有其他解决方案,用户不需要输入密码?
这似乎对我有用:
Process.Start("cmd.exe", @"/C runas.exe /TrustLevel:0x20000 " + "\"SomeProgram.exe" + "\"");
Run Code Online (Sandbox Code Playgroud)
Process类具有StartInfo作为ProcessStartInfo类的实例的属性。此类公开UserName,Domain和Password成员来指定要运行该进程的用户。
Process myProcess = new Process();
myProcess.StartInfo.FileName = fileName;
myProcess.StartInfo.UserName = userName;
myProcess.StartInfo.Domain = domain;
myProcess.StartInfo.Password = password;
myProcess.Start();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3283 次 |
| 最近记录: |