Ir al contenido


Foto

Activar y Desactivar Windows Firewall


  • Por favor identifícate para responder
15 respuestas en este tema

#1 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 01 agosto 2009 - 09:42

Hola
Se puede activar y desactivar el Firewall por código con delphi?.
Saludos
PD: No se si es API  :D
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 01 agosto 2009 - 10:10

Prueba con los siguientes:

Desactivar:



delphi
  1. shellexecute(0,'open', 'net.exe',' stop sharedaccess',0,0);



Activar:



delphi
  1. shellexecute(0,'open', 'net.exe',' start sharedaccess',0,0);



Saludos.
  • 0

#3 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 01 agosto 2009 - 10:34

Hola
Amigo que uses tengo que poner para el shellexecute?
Saludos
  • 0

#4 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 01 agosto 2009 - 10:37

Hola
Ya vi SellApi. :D
Otra cosa:
Esto desactiva el srvicio del firewall, pero me gustaria que solo lo dejara on o off sin desactivalo.
Se puede?
Saludos
  • 0

#5 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 01 agosto 2009 - 10:53

Esto desactiva el srvicio del firewall, pero me gustaria que solo lo dejara on o off sin desactivalo.


Eso no lo entendí­  *-)


Saludos!
  • 0

#6 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 01 agosto 2009 - 10:58

Hola
Bueno, en el firewall hay una pantalla.
En esa pantalla hay tres opciones, on, off y la otra de excepciones.
Lo que hace el codigo de Fernando es desactivar el servicio, o eso es lo que creo, por que si se quiere entrar en esa ventana sale un mensaje que dice que el servicio esta detenido y si quiere activarlo.
Yo pensaba en la posibilidad de únicamente cambiar el estado, on y off, pero que la ventana siga saliendo.
No se si se podrá o es lo mismo.
Saludos
  • 0

#7 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 01 agosto 2009 - 11:26

Amigo Caral, ¿cuál es la diferencia?, estoy seguro que al poner off en esa ventana detienes el servicio, la diferencia está en que agrega en el registro de windows un dato más donde no se salga esa ventana que comentas.

Saludos.
  • 0

#8 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 01 agosto 2009 - 11:48

Hola
Si amigo, lo he notado, pero ya sabes, es para ponértela difí­cil jejeje. :D
Saludos
  • 0

#9 seoane

seoane

    Advanced Member

  • Administrador
  • 1.259 mensajes
  • LocationEspaña

Escrito 01 agosto 2009 - 12:32

En windows XP llega con esto:


delphi
  1. uses ComObj;
  2.  
  3. var
  4.   objFirewall: Variant;
  5. begin
  6.   objFirewall:=  CreateOleObject('HNetCfg.FwMgr');
  7.   objFirewall.LocalPolicy.CurrentProfile.FirewallEnabled:= FALSE;
  8. end;



Pero lo acabo de probar en Vista y no me deja
  • 0

#10 seoane

seoane

    Advanced Member

  • Administrador
  • 1.259 mensajes
  • LocationEspaña

Escrito 01 agosto 2009 - 12:46

Aquí­ la versión para Vista  :cheesy:


delphi
  1. uses ComObj;
  2.  
  3. const
  4.   NET_FW_PROFILE2_DOMAIN = 1;
  5.   NET_FW_PROFILE2_PRIVATE = 2;
  6.   NET_FW_PROFILE2_PUBLIC = 4;
  7.  
  8. var
  9.   fwPolicy2: Variant;
  10. begin
  11.   fwPolicy2:=  CreateOleObject('HNetCfg.FwPolicy2');
  12.   fwPolicy2.FirewallEnabled(NET_FW_PROFILE2_DOMAIN):= FALSE;
  13.   fwPolicy2.FirewallEnabled(NET_FW_PROFILE2_PRIVATE):= FALSE;
  14.   fwPolicy2.FirewallEnabled(NET_FW_PROFILE2_PUBLIC):= FALSE;
  15. end;



PD: Hay que ejecutarlo  como administrador
  • 0

#11 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 01 agosto 2009 - 12:49

Ah vaya

Que bien amigo seoane, un gusto ver tu code.

Salud OS
  • 0

#12 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 01 agosto 2009 - 01:07

Hola
Muchas gracias Seoane, es exactamente lo que querí­a sin menospreciar lo de Fernando por supuesto. (y)
Gracias a ambos. (y) (b)
Saludos

  • 0

#13 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 01 agosto 2009 - 04:10

Primero añadimos a uses:
uses
Windows, Messages, ..., WinSvc, ShellApi;


Este serí­a un el procedimiento que detiene el servicio:



delphi
  1.        
  2.  
  3. procedure DeshabilitarCortafuegosXP;
  4. var
  5. SCM, hService: LongWord;
  6. sStatus: TServiceStatus;
  7. begin
  8. SCM := OpenSCManager( nil, nil, SC_MANAGER_ALL_ACCESS );
  9. hService := OpenService( SCM, PChar( 'SharedAccess' ),
  10. SERVICE_ALL_ACCESS );
  11. ControlService( hService, SERVICE_CONTROL_STOP, sStatus );
  12. CloseServiceHandle( hService );
  13. end;





Para volver a activarlo sólo hay que ir al panel de control y ponerlo en marcha
de nuevo. Esto no vale para otros cortafuegos (Panda, Norton, etc.)
Pruebas realizadas en Delphi 7


[glow=red,2,300]tomado de unos manuales llamados delphi al limite[/glow]
  • 0

#14 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 02 agosto 2009 - 11:48

Gracias por los aportes.


Saludos!
  • 0

#15 pcicom

pcicom

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 267 mensajes
  • LocationMéxico

Escrito 02 agosto 2009 - 09:48

Creo que estos CODIGOS deben de ir a la SECCION de TRUCOS.... si es que la hay, y si no hay que plantear su APERTURA..


  • 0

#16 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 03 agosto 2009 - 05:00

Creo que estos CODIGOS deben de ir a la SECCION de TRUCOS.... si es que la hay, y si no hay que plantear su APERTURA..


Pues existe.

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.