¿Cómo se agrega programáticamente una aplicación o puerto al Firewall de Windows en Windows XP?Regla de firewall de Windows para XP
Respuesta
Prueba este código extraído de nuestra fuente abierta SQlite3UI.pas unidad:
function GetXPFirewall(var fwMgr, profile: OleVariant): boolean;
begin
Result := (Win32Platform=VER_PLATFORM_WIN32_NT) and
(Win32MajorVersion>5) or ((Win32MajorVersion=5) and (Win32MinorVersion>0));
if result then // need Windows XP at least
try
fwMgr := CreateOleObject('HNetCfg.FwMgr');
profile := fwMgr.LocalPolicy.CurrentProfile;
except
on E: Exception do
result := false;
end;
end;
const
NET_FW_PROFILE_DOMAIN = 0;
NET_FW_PROFILE_STANDARD = 1;
NET_FW_IP_VERSION_ANY = 2;
NET_FW_IP_PROTOCOL_UDP = 17;
NET_FW_IP_PROTOCOL_TCP = 6;
NET_FW_SCOPE_ALL = 0;
NET_FW_SCOPE_LOCAL_SUBNET = 1;
procedure AddApplicationToXPFirewall(const EntryName, ApplicationPathAndExe: string);
var fwMgr, profile, app: OleVariant;
begin
if GetXPFirewall(fwMgr,profile) then
try
if profile.FirewallEnabled then begin
app := CreateOLEObject('HNetCfg.FwAuthorizedApplication');
try
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);
finally
app := varNull;
end;
end;
finally
profile := varNull;
fwMgr := varNull;
end;
end;
procedure AddPortToXPFirewall(const EntryName: string; PortNumber: cardinal);
var fwMgr, profile, port: OleVariant;
begin
if GetXPFirewall(fwMgr,profile) then
try
if profile.FirewallEnabled then begin
port := CreateOLEObject('HNetCfg.FWOpenPort');
port.Name := EntryName;
port.Protocol := NET_FW_IP_PROTOCOL_TCP;
port.Port := PortNumber;
port.Scope := NET_FW_SCOPE_ALL;
port.Enabled := true;
profile.GloballyOpenPorts.Add(port);
end;
finally
port := varNull;
profile := varNull;
fwMgr := varNull;
end;
end;
Se le permitirá a agregue una aplicación o un puerto al firewall de XP. Debería funcionar desde Delphi 6 hasta XE.
He actualizado la fuente de la unidad para trabajar en XP, Vista y Seven, ya sea para una aplicación, ya sea para un puerto. Ver http://synopse.info/forum/viewtopic.php?pid=4652#p4652 –
Scripting el Firewall de Windows es posible, ver Scripting the Windows Firewall
y el código de ejemplos por ejemplo here
¡Utilizo Delphi 7! –
Delphi 7 admite secuencias de comandos basadas en COM – mjn
En este caso, debe intentar importar la biblioteca de tipos, consulte mi enlace, menciona que el archivo DLL de la biblioteca de tipos 'normalmente se encuentra en" C: \ Windows \ System32 \ hnetcfg.dll "' (Este artículo es sobre XP, lo revisé en Windows 7 y hay un archivo con este nombre) – mjn
- 1. Control de Firewall de Windows en C# para Windows 7 y XP SP3
- 2. Uso de Windows Firewall programáticamente
- 3. Windows Firewall Programming
- 4. Cómo agregar la excepción saliente de Firewall de Windows?
- 5. DateTime.ToLocalTime en Windows XP
- 6. Aplicaciones ClickOnce y Windows Firewall
- 7. Implementación de NetFwTypeLib para administrar el Firewall de Windows
- 8. de vigilancia en Windows XP
- 9. Desarrolle Windows Phone 7 en Windows XP
- 10. Pydoc no funciona (Windows XP)
- 11. Memoria máxima de Java en Windows XP
- 12. herramientas para ver/resolver Windows XP fragmentación de la memoria
- 13. Uso de RawCap para Sniff localhost en Windows XP, SP3
- 14. Google webfonts y windows xp
- 15. Enlace simbólico en Windows XP
- 16. Delphi 7 Windows Vista/7 Firewall Ubicaciones Excepción red
- 17. Crear varias PC virtuales de Windows con Windows XP Mode
- 18. Actualizando reglas de firewall existentes usando API
- 19. Agregar una aplicación mediante programación a Firewall de Windows
- 20. Comando de elección de lote de Windows para Windows XP y 2003
- 21. Servicio WCF bloqueado por el Firewall de Windows
- 22. Evite ventanas emergentes de Windows Firewall con sockets en localhost
- 23. Nasty Png en Tbutton en Windows XP SP3 (modo XP Windows 7)
- 24. Desactive la capacidad de los programas para agregar excepciones al firewall de Windows a través de la API
- 25. Desarrollo para .NET 4.0 (Windows XP) con Visual Studio 2012
- 26. Configuración regional predeterminada para el servicio Tomcat en Windows XP
- 27. Servidor DNS gratuito para Windows XP/Vista/Win7?
- 28. Ejecutar una aplicación WPF en Windows XP
- 29. Display XP Estilo CFileDialog en Windows 7
- 30. Portando getifaddrs para Win XP
posible duplicado de [Programatically Add Exception to windows vista firewall.] (Http://stackoverflow.com/questions/1409896/programatically-add-exception-to-windows-vista-firewall) –
posible duplicado de [Agregar a Lista de excepciones de firewall] (http://stackoverflow.com/questions/2384718/add-to-firewall-exception-list) –
Esta respuesta solo funciona en xp. título editado desde que OP aceptó esto y su información útil, por lo tanto, no es un engaño ya que el duplicado solo funciona en win7 y vista. –