5
我的代碼,我發現這個塊,並實現了根據http://www.activexperts.com/activmonitor/windowsmanagement/scripts/networking/windowsfirewall/Delphi 7中的Windows Vista/7防火牆例外網絡位置
procedure AddExceptionToFirewall (Caption: String; Executable: String);
var
FirewallMsg: OleVariant;
Application: OleVariant;
CurrentProfile: OleVariant;
begin
FirewallMsg:= CreateOLEObject ('HNetCfg.FwMgr');
CurrentProfile:= FirewallMsg.LocalPolicy.CurrentProfile;
Application:= CreateOLEObject ('HNetCfg.FwAuthorizedApplication');
Application.ProcessImageFileName:= Executable;
Application.Name:= Caption;
Application.Scope:= FW_SCOPE_ALL;
Application.IpVersion:= FW_IP_VERSION_ANY;
Application.Enabled:= True;
CurrentProfile.AuthorizedApplications.Add (Application);
end;
的事情是,在Windows 7上,它增加了異常只能作爲公共及沒有私人你可以看到盤旋在RED在這裏
當設置爲只公開,我的方案有通過FT訪問我的主機出現問題P連接,從而使我的程序無用。 此問題僅適用於Windows Vista/7;在XP上,當前的配置工作正常。
如果您有任何線索或有用的指針,請分享它們。
爲什麼downvote? – RRUZ 2012-02-08 04:19:34
哇,這工作很好,它甚至使防火牆的私人和公共政策手動不可移動! 非常感謝RRUZ! – ziGi 2012-02-09 02:36:13
如果CreateOleObject返回nil,該怎麼辦?順便說一句,有CreateDNObject的MSDN頁與文檔它可以和不能返回? – 2013-06-09 13:33:48