
我正在尝试使用Delphi XE3pipe理windows 7上的防火墙规则(例外)。 我发现了一个非常有趣的向windows防火墙添加规则的代码,但没有关于删除(删除)它的任何内容。 请,有人可以帮忙吗?
以下是添加规则的代码:
procedure AddExceptToFirewall(const Caption,AppPath: String); // Uses ComObj const 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;
谢谢!
如何在windowsexception处理程序中设置MMX寄存器以模拟不支持的3DNow! 说明
终结者中的WCF NullReferenceException
如何获取exception的名称/描述?
如何禁用“Microsoft Visual C ++deBUGging库”exception对话框?
从未捕获的exception获取堆栈跟踪?
禁用“Foo遇到问题,需要closures”窗口
如何从陷阱帧中抓取错误代码?
JAR文件在linux上按预期工作,在windows上引发exception
什么是“双栈错误”?
u-boot中的exception向量地址
您只需调用INetFWRules.Remove ,传入规则的名称即可。 名称与创建时使用的名称相同( RObject.name提供的代码中的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条)