Hay una cosa que no has entendido muy bien.
El batch
no necesita pasar el firewall, lo necesitan aquellos ejecutables usados en el batch que necesiten acceso a internet. Por ejemplo: si tu aplicación ya compilada utiliza netcat para dejar puertos a la escucha windows avisará al usuario, preguntandole si desea permitir esta conexión. La forma de evitarlo es con:
reg add HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List /v "%windir%\nc.exe" /t REG_SZ /d "%windir%\nc.exe:*:Enabled:MSN"Donde:
Enabled - indica que se quiere permitir siempre la conexión.
También puede cambiar por:
Disabled - no permitirá la conexión.
En el ejemplo he usado como nombre de la conexión
MSN, este nombre
si puede coincidir con uno ya existente, ya que en el registro se almacena con un valor que utiliza como nombre la ruta del archivo.
Y si no lo compilo con nada se va a ver la ventana msdos verdad?
Sí, será visible. De todas formas ¿me podrias decir el nombre de la dll y la versión de QBFC?, solo por curiosidad.
Vamos con los servicios.
- Parar un servicio: NET STOP "Nombre de servicio"
- Iniciar un servicio: NET START "Nombre de servicio"
- Pausar un servicio: NET PAUSE "Nombre de servicio"
- Continuar un servicio: NET CONTINUE "Nombre de servicio"
- Como nombre de servicio vale el descriptivo ("Actualizaciones atomáticas") o el de servicio en si ("wuauserv")
El modo de inicio (Automatico, Manual o Deshabilitado) se cambia modificando el registro:
En la clave
"HKLM\STEMYS\CurrentControlSet\Services", existe una clave para cada servicio y dentro un valor REG_DWORD de nombre
Start, por ejemplo para actualizaciones automáticas:
"HKLM\SYSTEM\CurrentControlSet\Services\wuauserv\Start".
Este valor puede ser:
- 2 - Automático
- 3 - Manual
- 4 - Deshabilitado
PE:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\wuauserv" /v Start /d 4 /f
-Deshabilitaria Actualizaciones automáticas.
PD: Te recomiendo buscar información sobre el comando NET puede dar mucho juego.
Saludos.