我有一个批处理文件,它可以在大约 1 秒内安装 WinVNC 并启动服务。但是,我仍然必须手动进入 Windows 防火墙并打开一个端口以允许连接。我怎样才能以编程方式做到这一点?
如果我可以从批处理文件中执行此操作,那将是理想的,但如果有必要,我可以编写一个 EXE。
我有一个批处理文件,它可以在大约 1 秒内安装 WinVNC 并启动服务。但是,我仍然必须手动进入 Windows 防火墙并打开一个端口以允许连接。我怎样才能以编程方式做到这一点?
如果我可以从批处理文件中执行此操作,那将是理想的,但如果有必要,我可以编写一个 EXE。
Windows 防火墙为此提供了自己的 API:Windows 防火墙和具有高级安全性的 Windows 防火墙。查看 INetFwOpenPorts::Add() 方法。
让我为您搜索一下:http:
//www.windowsecurity.com/articles/Customizing-Windows-Firewall.html
此页面包含多种自定义防火墙的方法,其中使用这些方法netsh.exe
似乎可以让命令行访问 Windows 防火墙。
这是一个很好的资源,我过去曾多次使用过。我知道这是典型的“指向 RTFM 站点”,但实际上,它是一个很好的资源,我已经成功使用它。
http://msdn.microsoft.com/en-us/library/aa366415(VS.85).aspx
祝你好运。
shoosh 帮我搜索了一下,我想出了这个,效果很好。
netsh firewall add portopening tcp #### "VNC"
用端口替换####。
查看Windows防火墙的源代码(发布在google groups,Win32上)