我正在使用vb.net开发一个应用程序.要执行某些任务,应用程序需要机器中的管理员权限.如何在程序执行期间要求权限?
切换用户帐户执行应用程序的一般方法是什么?换句话说,应用程序是否有某种方式可以在任意用户帐户下运行?
我正在尝试使用以下代码运行cmd命令:
ProcessStartInfo cmd = new ProcessStartInfo("cmd.exe");
cmd.RedirectStandardInput = true;
cmd.RedirectStandardOutput = true;
cmd.RedirectStandardError = true;
cmd.UseShellExecute = false;
cmd.CreateNoWindow = true;
cmd.WindowStyle = ProcessWindowStyle.Hidden;
Process exec = Process.Start(cmd);
exec.StandardInput.WriteLine("sc create \"BaliService\" binPath= \"{0}\\BaliService.exe\"", Directory.GetCurrentDirectory());
Run Code Online (Sandbox Code Playgroud)
此命令需要管理员privelages,如果我以管理员身份运行cmd并键入命令它完美运行但不是当我以管理员身份运行此应用程序时.我已经添加了
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
每次打开exe时提示uac的清单文件.
我已经看到了关于这个的多个问题,他们似乎都建议在提升的应用程序下运行的任何进程都具有相同的权限,但这对我不起作用.
我试过cmd.Verb = "runas";但没有骰子.