我在下面提到了将我的应用程序添加到Windows防火墙例外列表的代码。 我想知道这是否也适用于其他防火墙,例如:防病毒防火墙等。 如果没有,请建议解决方案。 注意:我的应用程序使用管理员权限运行,但我的用户无法理解快速修复的防火墙设置等。我使用Delphi 2007(Win32)。
这是我第一次使用这个论坛。请原谅+纠正任何错误。
此致 艾伦费尔南德斯
procedure AddApplicationToFirewall(EntryName:string;ApplicationPathAndExe:string);
var
fwMgr,app:OleVariant;
profile:OleVariant;
begin
fwMgr := CreateOLEObject('HNetCfg.FwMgr');
profile := fwMgr.LocalPolicy.CurrentProfile;
app := CreateOLEObject('HNetCfg.FwAuthorizedApplication');
app.ProcessImageFileName := ApplicationPathAndExe;
app.Name := EntryName;
app.Scope := NET_FW_SCOPE_ALL;
app.IpVersion := NET_FW_IP_VERSION_ANY;
app.Enabled :=true;
profile.AuthorizedApplications.Add(app);
end;
答案 0 :(得分:5)
@Allan,您的代码仅适用于Windows防火墙或适用于使用Windows防火墙例外列表的防火墙。
遗憾的是,没有标准的方法可以向第三方防火墙添加例外,因为大多数这些都使用自己的方法来处理异常和访问规则。