我要运行命令行 pnputil
在 C# 程序中。该程序需要安装 USB 驱动程序。
我知道如何在 C# 程序中运行 cmd,但我有一个不同的问题:
我要安装的驱动没有windows权限。
如果我通过“设备管理器->更新驱动程序”安装驱动程序并选择驱动程序路径,我会从 Windows 收到“安全消息”“Windows 无法验证此驱动程序软件的发布者”并让我选择是否安装驱动程序(当然,如果我选择安装 - 安装成功)。
如果我从 cmd pnputil -a <path_name_inf>
运行命令我也收到此消息,我可以安装驱动程序。
但是当我尝试通过 C# 程序运行命令时 - 程序运行但未安装驱动程序(我也没有收到此消息)。
我的 C# 代码:
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = @"/C Pnputil -a <path_name_inf>";
process.StartInfo = startInfo;
process.Start();
我该怎么做?
最佳答案
您可以尝试使用 runas
动词运行 cmd:
startInfo.Verb = "runas";
startInfo.UseShellExecute = true;
此参数会导致权限提升。当您在资源管理器中使用“以管理员身份运行”时,可以达到同样的效果。
关于c# - 运行需要 "Security Message"的命令行 (cmd),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26525095/