WEB开发网
开发学院操作系统Windows Vista 在Vista中编程控制防火墙设定 阅读

在Vista中编程控制防火墙设定

 2007-09-01 16:37:44 来源:WEB开发网   
核心提示:在编程控制防火墙前先要有个前提,就是你必须是管理员权限,在Vista中编程控制防火墙设定, 这样本例的程序才能用"Run as administrator"的方式运行,并成功修改,不需要查,里面有个规律, 如果你本身就是用Administrator这个用户登录的话,直接运行就行了

在编程控制防火墙前先要有个前提,就是你必须是管理员权限, 这样本例的程序才能用"Run as administrator"的方式运行,并成功修改。 如果你本身就是用Administrator这个用户登录的话,直接运行就行了。 建议最好在这个用户下来调试程序。

本程序只是个初始的例子,里面的功能只开发了一部分,各位有兴趣的话可以继续深入运用。 像Vista的防火墙就比较Bt,除了基本设定外,在"Control PanelAdministrative ToolsWindows Firewall with Advanced Security" 还有高级设定,好像用程序都可控制。

FireWallManager 程序主要功能有

1. public void FireWallTrigger( bool enable ) //开关防火墙。 貌似在Vista里面有问题,XP sp2好像可以。 但是用INetFwPolicy2.set_FirewallEnabled的方法的话,Vista也能搞定。

2. public void FireWallService( string name, bool enable ) //开关防火墙服务程序,一般里面的 File and Printer Sharing 服务比较有用。

3. public bool AddPort( string portName, int portNumber, string protocol ) // 开启一个端口。

4. public bool RemovePort( int portNumber, string protocol ) //删除开启的端口

5. public bool AddAplication( string discriptionName, string fileName ) //开启放行应用程序

6. public bool RemoveApplication( string fileName ) // 关闭放行的应用程序。

里面还有个 protected Object getInstance( String typeName ) 本来是用CLSID来实例化那些接口的,后来发现ProgID其实更简单,不需要查,里面有个规律,只需把接口的INet删掉就是ProgID了。 如 INetFwOpenPort port = ( INetFwOpenPort )Activator.CreateInstance( Type.GetTypeFromProgID( "HNetCfg.FwOpenPort" ) ); 中 INetFwOpenPort 与 FwOpenPort.

1 2  下一页

Tags:Vista 编程 控制

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接