Tôi có đoạn mã này mà tôi tìm thấy và thực hiện theo http://www.activexperts.com/activmonitor/windowsmanagement/scripts/networking/windowsfirewall/Delphi 7 Windows Vista/7 Firewall Địa điểm ngoại lệ Mạng
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;
Có điều là, trên Windows 7, nó bổ sung thêm ngoại lệ duy nhất là công cộng và không phải là cá nhân như bạn có thể nhìn thấy vòng tròn RED ở đây
Khi thiết lập để công cộng duy nhất, chương trình của tôi có vấn đề về truy cập vào máy chủ của tôi qua một FT P kết nối, do đó làm cho chương trình của tôi vô ích. Sự cố này chỉ dành riêng cho Windows Vista/7; trên XP, cấu hình hiện tại hoạt động tốt.
Vui lòng nếu bạn có bất kỳ đầu mối hoặc con trỏ hữu ích nào, hãy chia sẻ chúng.
Tại sao lưu ý lại? – RRUZ
Wow hoạt động khá tốt, nó thậm chí còn thể hiện chính sách riêng tư và công cộng của Tường lửa bằng tay không thể khắc phục! Cảm ơn rất nhiều RRUZ! – ziGi
nếu CreateOleObject trả về nil thì sao? btw, là có trang MSDN cho CreateOleObject với tài liệu những gì nó có thể và không thể trở lại? –