微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Delphi删除Windows防火墙规则例外

我正在尝试使用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几乎没有提供链接的文档。 我提供的链接仅供参考。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐