Reiniciar y Apagar Windows

Iniciado por Fireball-CH, 5 Enero 2007, 01:27 AM

0 Miembros y 1 Visitante están viendo este tema.

Fireball-CH

Hola a todos!

Me gustaría que me ayudaran con una aplicación en Visual Basic 6.0.

Tengo dos botones, uno dice Reiniciar y el otro Apagar. Ahora, quisiera saber cómo puedo reiniciar y apagar la computadora con los botones, respectivamente.

Hice un intento con algo de:

Declare Function ExitWindows Lib "User" (ByVal ReStartCode As Long, ByVal DosReturnCode As Integer) As Integer

pero me sale un error y no me permite generar el EXE.

Bueno, espero que pudan ayudarme. Saludos!
Video en el que explico cómo instalar y configurar Apache 2.0.54, PHP 5.0.0 y MySQL 4.0.20: http://www.mediafire.com/?fevmmnlyzzd

Sancho.Mazorka

#1
Man casi nunca hago esto! pero BUSCA en este foro ya se hablo de esto!  En la parte de troyanos hay mucho!


Sancho.Mazorka    :P
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



Fireball-CH

Bueno, entonces buscaré.

De todos modos gracias, Sancho.Mazorka.
Video en el que explico cómo instalar y configurar Apache 2.0.54, PHP 5.0.0 y MySQL 4.0.20: http://www.mediafire.com/?fevmmnlyzzd

Sancho.Mazorka

Si lo queres poner en un Form a los Public cambialos por Private.

Modulo:
'API
Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

'TIPOS DE PRIVILEGIOS
Public Type TOKEN_PRIVILEGES
   PrivilegeCount As Long
   TheLuid As LUID
   Attributes As Long
End Type

'TIPOS PARA APGAR LA PC
Public Enum EnumExitWindows
   WE_LOGOFF = 0
   WE_SHUTDOWN = 1
   WE_REBOOT = 2
   WE_POWEROFF = 8
End Enum

' + + + + + | PERMISOS | + + + + + '
Public Sub AdjustToken()
Const TOKEN_ADJUST_PRIVILEGES = &H20
Const TOKEN_QUERY = &H8
Const SE_PRIVILEGE_ENABLED = &H2
Dim hdlProcessHandle As Long
Dim hdlTokenHandle As Long
Dim tmpLuid As LUID
Dim tkp As TOKEN_PRIVILEGES
Dim tkpNewButIgnored As TOKEN_PRIVILEGES
Dim lBufferNeeded As Long
hdlProcessHandle = GetCurrentProcess()
OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or _
TOKEN_QUERY), hdlTokenHandle
LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid
tkp.PrivilegeCount = 1
tkp.TheLuid = tmpLuid
tkp.Attributes = SE_PRIVILEGE_ENABLED
AdjustTokenPrivileges hdlTokenHandle, False, _
tkp, Len(tkpNewButIgnored), tkpNewButIgnored, lBufferNeeded
End Sub

' + + + + + | APAGAR, REINICIAR, CERRAR SESION, SUSPENDER PC | + + + + + '
Public Sub ExitWindows(ByVal aOption As EnumExitWindows)
AdjustToken
   Select Case aOption
      Case EnumExitWindows.WE_LOGOFF
         ExitWindowsEx (EnumExitWindows.WE_LOGOFF Or EWX_FORCE), &HFFFF
      Case EnumExitWindows.WE_REBOOT
         ExitWindowsEx (EnumExitWindows.WE_SHUTDOWN Or EWX_FORCE Or EnumExitWindows.WE_REBOOT), &HFFFF
      Case EnumExitWindows.WE_SHUTDOWN
         ExitWindowsEx (EnumExitWindows.WE_SHUTDOWN Or EWX_FORCE), &HFFFF
      Case EnumExitWindows.WE_POWEROFF
         ExitWindowsEx (EnumExitWindows.WE_POWEROFF Or EWX_FORCE), &HFFFF
   End Select
End Sub


Para llamar a los diferentes eventos de shutdown:
ExitWindows WE_SHUTDOWN 'Apagar
ExitWindows WE_REBOOT 'Reiniciar
ExitWindows WE_LOGOFF 'Cierra sesion
ExitWindows WE_POWEROFF 'Suspende


Bueno x lo menos te hice buscar algo de lo que necesitabas, me dio cosa no darte el code  ;)
La proxima busca, xq yo lo sake de aca a este code.

Sancho.Mazorka     :P
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



~~

O usa la consola q es mas facil y corto. Pon "shutdown /?" en el MS-DOS y veras las distintas opciones. Ahora solo lo llamas con shell y ya esta  :P

1S4ludo

Sancho.Mazorka

EON pense en eso tmb pero si keres hacer algo discreto sin que se note la presencia del programa conviene usar todas esas funciones, ya que con la consola se ve el proceso y el cartelito, aunque le pongas -t 0 .


Sancho.Mazorka     :P
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



~~

Cita de: Sancho.Mazorka en  5 Enero 2007, 16:03 PM
EON pense en eso tmb pero si keres hacer algo discreto sin que se note la presencia del programa conviene usar todas esas funciones, ya que con la consola se ve el proceso y el cartelito, aunque le pongas -t 0 .


Sancho.Mazorka     :P

Eso lo solucionamos con shell ("lo q sea"),vbhide
1S4ludo

Sancho.Mazorka

Si se eso, pero a mi no me sirve, lo veo igual :S  pero no veo la ventana, solo veo la ventanita minimiza...



Sancho.Mazorka     :P
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



~~

Me estas diciendo q si haces esto por ej:

Private Sub Command1_Click()
Shell ("notepad.exe"), vbHide
End Sub


tu ves el notepad?? q raro no? por q yo le doy al boton y solo veo el proeso con el adim de tareas, en mi pantalla no cambia nada...

1S4ludo

Sancho.Mazorka

No veo el notepad, si no que veo en la barra de tareas que dice "Sin titulo - Bloc de Notas"   :S

PD: como se llama ese cuadradito donde dice "Sin titulo - Bloc de Notas" en la barra de tareas, ...tarea ?

Sancho.Mazorka   :P
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html