ho questo pezzo di codice che ho trovato e attuata in funzione http://www.activexperts.com/activmonitor/windowsmanagement/scripts/networking/windowsfirewall/Delphi 7 Windows Vista/7 Firewall Eccezione Percorsi di rete
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;
Il fatto è che, in Windows 7, si aggiunge l'eccezione solo come pubblica e non come privato come si può vedere cerchiata in RED qui
Quando è impostato su pubblico solo, il mio programma ha problemi di accesso a mio ospite tramite un FT Connessione P, rendendo quindi il mio programma inutile. Questo problema è particolare solo per Windows Vista/7; su XP, la configurazione corrente funziona correttamente.
Per favore, se avete qualche idea o indicazioni utili, condivideteli.
Perché il downvote? – RRUZ
Wow funziona abbastanza bene, rende addirittura irremovibili le policy private e pubbliche di Fire Wall! Grazie mille RRUZ! – ziGi
cosa succede se CreateOleObject restituisce nil? btw, c'è la pagina MSDN per CreateOleObject con documentazione che cosa può e non può restituire? –