我想让一些程序通过 Windows 防火墙使用 C# 编程(支持窗口 7)进行通信。但我不能。
问问题
1231 次
1 回答
2
您可以使用互操作访问用于配置防火墙的 COM 对象。
要使用互操作访问 API,您需要在互操作程序集中创建。你可以用它tlbimp.exe
来做到这一点。
- 打开 Visual Studio 命令提示符。
- 将目录更改为合适的可写文件夹。
- 执行命令
tlbimp FirewallApi.dll
。
互操作程序集在名为NetFwTypeLib.dll
. 在 C# 项目中添加对此文件的引用。
要创建一个对象,您需要编写如下代码:
var firewallPolicy = (INetFwPolicy2) Activator.CreateInstance(
Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
您需要使用ProgID
上面链接的文档中指定的正确方法,然后需要将返回的对象转换为正确的接口。从那时起,您可以使用 IntelliSense 探索 API。
于 2012-08-27T10:00:00.653 回答