salir del sistema?¿?¿

Iniciado por Robokop, 26 Diciembre 2005, 04:48 AM

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

Robokop

alguien sabe un code para k al final de una aplicacion se apague el sistema sin k tengas k confirmar nada  :huh:

skapunky

Hola.

Haber puedes hacer que tu aplicación cree un bat y lo ejecute, abre un nuevo documento de texto, escribes esto " shutdown.exe -s -t " y guardalo por ejemplo como apagar.bat, luego que tu aplicación lo ejecute.

También esta el codigo en visual basic y no es demasiao complicado, se compone de un modulo y su declaración y corre por internet.. Quiza este por el foro de elhacker, buscalo y suerte !

atte. Srg.Skapunky

www.usuarios.lycos.es/skapunky
Killtrojan Syslog v1.44: ENTRAR

MaLkAvIaN_NeT

Siempre y cuando el SO sea xp pues en el 2000 por ejemplo no tiene el shutdown tienes que copiarlo, sin usar el .bat puedes hacerlo con el shellexecute

salu2
a por las buenas ideas

Robokop

yo habia visto hace tiempo un code k declaraba una funcion y luego esta shutdown -s sin tener k hacer otros ejecutables

Ironhorse

Te paso el codigo de una clase que te permite hacer LOGOFF, REBOOT, SHUTDOWN y POWEROFF.
No sé sobre que SO funciona, yo la uso sin problemas en Win2k, calculo que en Xp deberia funcionar.


Option Explicit

'APIs
'******************************************************************************
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function OpenProcessToken Lib "advapi32" (ByVal _
   ProcessHandle As Long, _
   ByVal DesiredAccess As Long, TokenHandle As Long) As Long
Private Declare Function LookupPrivilegeValue Lib "advapi32" _
   Alias "LookupPrivilegeValueA" _
   (ByVal lpSystemName As String, ByVal lpName As String, lpLuid _
   As LUID) As Long
Private Declare Function AdjustTokenPrivileges Lib "advapi32" _
   (ByVal TokenHandle As Long, _
   ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES _
   , ByVal BufferLength As Long, _
PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
'******************************************************************************

'Constants
'******************************************************************************
Private Const EWX_FORCE As Long = 4
'******************************************************************************

'Types
'******************************************************************************
Private Type LUID
   UsedPart As Long
   IgnoredForNowHigh32BitPart As Long
End Type

Private Type TOKEN_PRIVILEGES
  PrivilegeCount As Long
  TheLuid As LUID
  Attributes As Long
End Type
'******************************************************************************

'Enumeration
'******************************************************************************
Public Enum EnumExitWindows

  WE_LOGOFF = 0
  WE_SHUTDOWN = 1
  WE_REBOOT = 2
  WE_POWEROFF = 8

End Enum
'******************************************************************************

'Functions and Subs
'******************************************************************************
Private 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

' Get the LUID for shutdown privilege.
    LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid

    tkp.PrivilegeCount = 1    ' One privilege to set
    tkp.TheLuid = tmpLuid
    tkp.Attributes = SE_PRIVILEGE_ENABLED

' Enable the shutdown privilege in the access token of this process.
    AdjustTokenPrivileges hdlTokenHandle, False, _
    tkp, Len(tkpNewButIgnored), tkpNewButIgnored, lBufferNeeded

End Sub


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
'******************************************************************************

Pégense una vuelta por Cracton :)

lord_iNtro

Si te sirve apagarlo...--> Shell("shutdown.exe -a - t 00"
^^Solo se que no se nada, mas de eso me baso^^

Robokop

o gracias lord iNtro ese era el codigo que estaba buscando pero no lo recordaba

Sancho.Mazorka

man ese no es el modo de apagar la makina con dos aparte es mejor el Ironhorse poruqe el de dos se puede detener y encima esta mal el code qeu dio lord_iNtro es asi
Shell("shutdown.exe -s - t 00" ' es una s la que va para apagar la a hace otra cosa y shutdown.exe no es necesario con solo poner shutdown ya es suficiente. Espero q esto te sirva. Salu2


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



Robokop

eso ya lo se sancho pero de lo que no me acordaba era de la palabra shutdown y eso me estaba matando y ademas ya c que esta mejor la forma  de ironhorse pero esta muy largo para la forma de como yo lo quiero hacer