我有一个802.x网络的网络配置文件,当从批处理文件或cmd 运行时工作正常:
wlan add profile filename="config.xml"
所以我想我可以通过运行一个进程在我的C#程序中执行此操作:
Process process = new Process()
{
StartInfo = new ProcessStartInfo
{
FileName = "netsh.exe",
Arguments = String.Format(@"wlan add profile filename=""{0}""", "config.xml"),
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};
process.Start();
我认为该文件正在被正确读取,否则它将输出该文件尚未找到。这是 C#错误输出消息:
Profile format error 0x80420011: The connection profile is damaged.
但是config.xml完全相同!
我也试过以更简单的方式运行它,但输出仍然是相同的:
string strCmd = "/C netsh wlan add profile filename=\"config.xml\"";
Process.Start("CMD.exe", strCmd);
我的C#代码中是否有任何遗漏,以便可以正确执行此netsh命令?
编辑:
Console,Batch和C#命令都使用用户权限运行。但是,我尝试使用管理员权限运行C#,但它也不起作用。