
以下是添加规则的代码:
procedure AddExceptToFirewall(const Caption,AppPath: String);// Uses ComObjconst NET_FW_PROfile2_PRIVATE = 2; NET_FW_PROfile2_PUBliC = 4; NET_FW_IP_PROTOCol_TCP = 6; NET_FW_ACTION_ALLOW = 1;var Profile: Integer; Policy2: oleVariant; RObject: oleVariant; NewRule: oleVariant;begin Profile := NET_FW_PROfile2_PRIVATE OR NET_FW_PROfile2_PUBliC; Policy2 := CreateoleObject('HNetCfg.FwPolicy2'); RObject := Policy2.Rules; NewRule := CreateoleObject('HNetCfg.FWRule'); NewRule.name := Caption; NewRule.Description := Caption; NewRule.Applicationname := AppPath; NewRule.Protocol := NET_FW_IP_PROTOCol_TCP; NewRule.Enabled := True; NewRule.GrouPing := ''; NewRule.Profiles := Profile; NewRule.Action := NET_FW_ACTION_ALLOW; RObject.Add(NewRule);end; 谢谢!
解决方法 您只需调用 INetFWRules.Remove,传入规则名称即可.该名称与您在创建时使用的名称相同(上面提供的代码中的RObject.name).// Note: normal COM exception handling should be used. Omitted for clarity.procedure RemoveExceptFromFirewall(const Rulename: String);const NET_FW_PROfile2_PRIVATE = 2; NET_FW_PROfile2_PUBliC = 4;var Profile: Integer; Policy2: oleVariant; RObject: oleVariant;begin Profile := NET_FW_PROfile2_PRIVATE OR NET_FW_PROfile2_PUBliC; Policy2 := CreateoleObject('HNetCfg.FwPolicy2'); RObject := Policy2.Rules; RObject.Remove(Rulename);end; BTW链接文档中几乎没有提供任何内容.我提供的链接仅供参考.
总结以上是内存溢出为你收集整理的使用Delphi删除Windows防火墙规则(例外)全部内容,希望文章能够帮你解决使用Delphi删除Windows防火墙规则(例外)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)