提问人:ProfNimrod 提问时间:2/20/2014 最后编辑:ProfNimrod 更新时间:2/23/2014 访问量:194
任何标准的 C#.NET 方法来利用 WMI IPHelper?
Any standard C#.NET way to utilize WMI IPHelper?
问:
有谁知道是否存在包含等效于 WMI IPHelper 函数的现有 C#.NET 命名空间?具体来说,我需要调用 CreateIpForwardEntry 和 DeleteIpForwardEntry。唯一的方法是通过 P/Invoke 吗?(注意:这不是对第三方库的请求,而是对标准 .NET 库的请求)
答:
3赞
ProfNimrod
2/21/2014
#1
最后,我决定不费心尝试 P/Invoke WMI IPHelper 函数。启动一个进程打开 cmd.exe 并编写控制台命令来添加和删除路由要容易得多。下面的代码说明了如何做到这一点。
var proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "cmd.exe",
UseShellExecute = false,
RedirectStandardOutput = true,
RedirectStandardInput = true,
CreateNoWindow = true
}
};
proc.Start();
proc.StandardInput.WriteLine(delete
? "route delete " + ServiceIpAddress + " mask " + GatewayMask + " " + GatewayIpAddress + " -p" : "route add " + ServiceIpAddress + " mask " + GatewayMask + " " + GatewayIpAddress + " -p");
roc.Close();
评论