在Windows防火墙中打开端口涉及哪些API调用?

时间:2009-04-29 14:44:00

标签: winapi windows-firewall

我有一个批处理文件,可以在大约1秒内安装WinVNC并启动服务。但是,我仍然需要手动进入Windows防火墙并打开端口以允许连接。我怎么能以编程方式做到这一点?

如果我可以在批处理文件中执行此操作,那将是理想的,但如果有必要,我可以写一个EXE。

5 个答案:

答案 0 :(得分:2)

让我google that为你:
http://www.windowsecurity.com/articles/Customizing-Windows-Firewall.html

此页面包含多种自定义防火墙的方法,其中包括netsh.exe使用似乎可以命令行访问Windows防火墙的方法。

答案 1 :(得分:2)

Windows防火墙有自己的API用于此目的:Windows Firewall and Windows Firewall with Advanced Security。查看INetFwOpenPorts :: Add()方法。

答案 2 :(得分:1)

这是我过去多次使用过的好资源。我知道这是典型的“指向RTFM网站”,但实际上,这是一个很好的资源,我已成功使用它。

http://msdn.microsoft.com/en-us/library/aa366415(VS.85).aspx

祝你好运。

答案 3 :(得分:0)

为我搜索谷歌,我想出了这个,效果很好。

netsh firewall add portopening tcp #### "VNC"

用端口替换####。

答案 4 :(得分:0)

查看Windows防火墙的源代码(在google groups,Win32上发布)