我希望我的应用程序不需要管理员来使用它。
我应该可以用于普通用户。
当用户想要更改应用程序的某些设置时,我需要管理员权限。
所以我想启动需要管理员权限的应用程序的第二个实例。(有用户协议请求等)
有没有办法做到这一点?
我试过:
Process p = new Process();
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
p.StartInfo.FileName = Application.ExecutablePath;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
if (System.Environment.OSVersion.Version.Major >= 6)
{
p.StartInfo.Verb = "runas";
}
p.Start();
但它似乎不起作用。
您可以创建一个具有管理员权限的帐户,
然后ProcessStartInfo
使用管理员帐户的相应值填充实例上的用户、密码属性。
就像是:
var psi = new ProcessStartInfo
{
FileName = "notepad.exe",
UserName = "admin",
Domain = "",
Password = pass,
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardError = true
};
Process.Start(psi);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句