tengo este trozo de código que he encontrado e implementado de acuerdo con http://www.activexperts.com/activmonitor/windowsmanagement/scripts/networking/windowsfirewall/Delphi 7 Windows Vista/7 Firewall Ubicaciones Excepción red
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;
La cosa es, en Windows 7, se añade la excepción sólo como sociedades y no es tan privada como se puede ver un círculo en ROJO aquí
Cuando se pone en público solamente, mi programa tiene problemas para acceder a mi anfitrión a través de un FT P conexión, lo que hace que mi programa sea inútil. Este problema es particular solo para Windows Vista/7; en XP, la configuración actual funciona bien.
Por favor, si tiene alguna pista o consejos útiles, compártalos.
¿Por qué el voto a favor? – RRUZ
¡Vaya que funciona bastante bien, incluso hace que las políticas públicas y privadas de Fire Wall sean inamovibles manualmente! Muchas gracias RRUZ! – ziGi
¿y si CreateOleObject devuelve nil? Por cierto, ¿hay una página de MSDN para CreateOleObject con la documentación de lo que puede y no puede devolver? –