• Viernes 29 de Marzo de 2024, 09:49

Autor Tema:  Apagar Equipo  (Leído 2677 veces)

arrebiato

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Apagar Equipo
« en: Martes 14 de Junio de 2005, 22:34 »
0
:ph34r: hola a todos, el problema es que tengo que apagar remotamente, un equipo q funciona con windows 98 desde mi aplicacion.

si pueden ayudarme se los agradesco............ :rolleyes:

tyron

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Apagar Equipo
« Respuesta #1 en: Miércoles 15 de Junio de 2005, 02:14 »
0
Holaa, a ver si esto te puede servir:

En un modulo:
Código: Text
  1. Option Explicit
  2.  
  3.       Public Declare Function InitiateSystemShutdown Lib "advapi32.dll" Alias _
  4.       "InitiateSystemShutdownA" (ByVal lpMachineName As String, ByVal lpMessage _
  5.       As String, ByVal dwTimeout As Long, ByVal bForceAppsClosed As Long, ByVal _
  6.       bRebootAfterShutdown As Long) As Long
  7.  
  8.       Public Declare Function AbortSystemShutdown Lib "advapi32.dll" Alias
  9.       "AbortSystemShutdownA" (ByVal lpMachineName As String) As Long
  10.  


En un formulario:
Código: Text
  1.   'Crea un formulario con dos botones
  2.       Private Sub Command1_Click()
  3.           'Inicia el apagado de la maquina llamada MYPC con un mensaje de aviso,tardará
  4.           '30 seg en apagarse,cerraras las aplicaciones abiertas y reiniciara la maquina.
  5.           InitiateSystemShutdown "\\MYPC", "The system is Shutting Down", 30, True, True
  6.       End Sub
  7.  
  8.       Private Sub Command2_Click()
  9.           'Si antes de los 30 seg, este botón es pulsado, el apagado se detendrá
  10.           AbortSystemShutdown "\\MYPC"
  11.       End Sub
  12.  

arrebiato

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Re: Apagar Equipo
« Respuesta #2 en: Miércoles 15 de Junio de 2005, 16:07 »
0
B) Sorry man is not woking ........Uso el codigo lo incluyo en los modulos de mi aplicacion y no funciona...............help me please

tyron

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Apagar Equipo
« Respuesta #3 en: Miércoles 15 de Junio de 2005, 17:46 »
0
Hola, por ir descartando problemas....
Has cambiado 'MYPC' por el nombre del pc ke kieres apagar?
Un saludo.

arrebiato

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Re: Apagar Equipo
« Respuesta #4 en: Miércoles 15 de Junio de 2005, 18:44 »
0
:blink: por supuesto que si ....pero sinebargo no funcionó...... :scream:

tyron

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Apagar Equipo
« Respuesta #5 en: Jueves 16 de Junio de 2005, 14:37 »
0
Hola, pues este codigo me lo he tenido ke currar yo, pero va!

En un modulo:
Código: Text
  1. Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As _
  2. Long, ByVal dwReserved As Long) As Long
  3. Public Declare Function ExitWindows Lib "user32" (ByVal dwReserved As _
  4. Long, ByVal uReturnCode As Long) As Long
  5.  
  6. Public Const EWX_LOGOFF = 0
  7. Public Const EWX_SHUTDOWN = 1
  8. Public Const EWX_REBOOT = 2
  9. Public Const EWX_FORCE = 4
  10.  

En un boton o lo que quieras:
Código: Text
  1. ExitWindowsEx EWX_SHUTDOWN, 0&
  2.  

Yo tengo instalado el XP, no lo he podido probar en windows98 pero supongo que funcionara. Un saludo.

martin campos quintero

  • Miembro MUY activo
  • ***
  • Mensajes: 113
  • Nacionalidad: 00
    • Ver Perfil
Re: Apagar Equipo
« Respuesta #6 en: Martes 21 de Junio de 2005, 07:46 »
0
Hola, pues la forma más sencilla para apagar una pc remota, es que ella misma se apague no que la apague otra máquina, esto se consigue con aplicación cliente servidor


El servidor será el que mande la orden de apagar.

por ejemplo cuando la aplicación cliente esté conectada con la aplicación servidor, el servidor manda lo siguiente:

winsock1.senddata "apagate"

y el cliente al recibirlo:

dim datos as string
winsock1.getdata datos
if datos="apagate" then
  funcion de apagar()
endif

Busca información sobre el control winsock