gpt4 book ai didi

c# - 在 C# 中以管理员权限启动程序

转载 作者:行者123 更新时间:2023-12-01 13:49:35 25 4
gpt4 key购买 nike

我最近发现,很难从代码中启动具有管理权限的 Java 进程,因此我决定制作一个单独的启动或调用程序,用 C# 编写。 C#程序有以管理员身份运行的权限,但是如何调用jar以管理员身份运行呢?它调用的程序需要管理员权限才能从注册表中设置和检索值,这是它的设置,并且由于我无法在 Java 中以管理员身份启动该程序,所以我需要在 C# 中执行此操作(我选择了 C# 而不是 VB,因为我以前用 VB 编写代码,但不再喜欢这种语法了)。这是我到目前为止所取得的进展,但我仍然在控制台中收到错误输出:

static void Main(string[] args)
{
Console.Title = "Universal Android Toolkit Bootup...";
Console.ForegroundColor = ConsoleColor.Green;

try
{
Process pr = new Process();
String uat = Environment.CurrentDirectory + "/com.m4gkbeatz.Java.AndroidToolkit.jar";

pr.StartInfo.Arguments = "-jar " + uat;
pr.StartInfo.FileName = "java";
pr.StartInfo.CreateNoWindow = true;
pr.StartInfo.ErrorDialog = true;
pr.StartInfo.RedirectStandardOutput = true;
pr.StartInfo.RedirectStandardError = true;
pr.StartInfo.UserName = "admin";
pr.StartInfo.UseShellExecute = false;

StreamReader str;
pr.Start();
str = pr.StandardOutput;

while (!pr.HasExited)
{
Console.WriteLine(str.ReadLine());
}
}
catch (Exception ex)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("There was an error while attempting to execute Universal Android Toolkit");
Console.WriteLine(ex.ToString());
error = ex.ToString();
Console.WriteLine("\n");
Console.WriteLine("Please try again.\nPress ENTER to continue...");
Console.Read();
ErrorMenu();
}
}

编辑:这是控制台的输出: Console Error Output

最佳答案

由于错误指示“错误的用户名/密码”...您正在设置 pr.StartInfo.UserName,但未设置 pr.StartInfo.Password

关于c# - 在 C# 中以管理员权限启动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20075922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com