elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Duda con apagar y reiniciar windows(Solucionado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con apagar y reiniciar windows(Solucionado)  (Leído 2,662 veces)
Senior++


Desconectado Desconectado

Mensajes: 957

Ama y haz lo que te de la gana


Ver Perfil
Duda con apagar y reiniciar windows(Solucionado)
« en: 10 Septiembre 2011, 13:17 pm »

Bueno pues con la función ExitWindowsEx  puedo apagar y reiniciar windows y cerrarlo pero me a surgido una duda... y es con este código

Código:
'Declaración de la función ExitWindowsEx
Private Declare Function ExitWindowsEx Lib "User32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

'Constanets para la función
Const cerrarWin = 1
Const reiniciarWin = 2

Private Sub Command1_Click()
Dim retorno As Long
If Option1 Then retorno = ExitWindowsEx(reiniciar, 0)
If Option2 Then retorno = ExitWindowsEx(cerrar, 0)
End Sub

Bueno e puesto 2 options y 1 comando, entonces en un tutorial y decía....  NOTA:  esto aunque nosotros utilicemos solo el primer parámetro, en el segundo, dwreserved, debemos pasarle el valor 0.

Entonces me informe y el uFlags tiene unos valores.. y son  
0 = Reinicia windows.
1 = Apaga el sistema.
2 = Reinicia el sistema.


Entonces mi pregunta es en este código:

Código:
If Option1 Then retorno = ExitWindowsEx(reiniciar, 0)
If Option2 Then retorno = ExitWindowsEx(cerrar, 0)

El primero option si lo veo razonable pero el segundo option no ya que el 0= a Reiniciar el Sistema  en todo caso sería 1 para apagar el sistema...?

Es que no lo entiendo bien...

Edito: También estoy haciendo pruebas y las 'Constanets para la función
Const cerrarWin = 1
Const reiniciarWin = 2
las e borrado,para ver si se apaga el equipo o se reiniciaba y si funcionaba bien
Saludos


Saludos


« Última modificación: 10 Septiembre 2011, 20:08 pm por SixToes » En línea

Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Duda con apagar y reiniciar windows
« Respuesta #1 en: 10 Septiembre 2011, 16:28 pm »

 :P no le veo tanto problema
Código
  1. Public Const EWX_SHUTDOWN = 1 'apagar
  2. Public Const EWX_REBOOT = 2       'reiniciar
  3. Public Const EWX_FORCE = 4          'forzar el apagado de window
  4.  

las constantes no importa si las borras, eso sirve para que el codigo sea mas entendible y legible


En línea

Senior++


Desconectado Desconectado

Mensajes: 957

Ama y haz lo que te de la gana


Ver Perfil
Re: Duda con apagar y reiniciar windows(Solucionado)
« Respuesta #2 en: 10 Septiembre 2011, 20:14 pm »

Solución: Se hace con la Api ExitWindowsEx

Código:
Option Explicit
'Control de Apagar, Cerrar Session, reiniciar
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

Const EWX_LOGOFF = 0
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2
Const EWX_FORCE = 4

Private Sub Command1_Click(Index As Integer)
    Select Case Index
        Case 0 'Cerrar Session
            ExitWindowsEx EWX_LOGOFF, 0 'Cierra sesión en Win 98, 2000, XP
        Case 1 'Reiniciar PC
            ExitWindowsEx EWX_REBOOT, 0 'Reinicia el Sistema
            Shell "shutdown -r -f -t 0" 'Reinicia el equipo en Win XP
        Case 2 'Apagar PC
            ExitWindowsEx EWX_SHUTDOWN, 0 'Apaga el equipo en Win 98, 2000
            Shell "shutdown -s -t 0" 'Apaga el equipo en Win XP
    End Select
End Sub
En línea

Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines