comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Detener Apagado de Windows...

  • 0 Respuestas
  • 1522 Vistas

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

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5380
  • Actividad:
    81.67%
  • Reputación 31
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Julio 26, 2010, 11:46:39 am »
En un módulo:

Código: Visual Basic
  1. Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal MSG As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  2. Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  3. Declare Function GetMessage Lib "user32" Alias "GetMessageA" (lpMsg As MSG, ByVal hwnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long) As Long
  4.  
  5. Type POINTAPI
  6.         x As Long
  7.         y As Long
  8. End Type
  9.  
  10. Type MSG
  11.     hwnd As Long
  12.     message As Long
  13.     wParam As Long
  14.     lParam As Long
  15.     time As Long
  16.     pt As POINTAPI
  17. End Type
  18.  
  19. Public Const GWL_WNDPROC = -4
  20. Public Const WM_QUERYENDSESSION = &H11
  21. Global Const WM_CANCELMODE = &H1F
  22.  
  23. Public SDAttempted As Long
  24. Global lpPrevWndProc As Long
  25. Global gHW As Long
  26.  
  27. Public Sub Hook()
  28.     lpPrevWndProc = SetWindowLong(gHW, GWL_WNDPROC, AddressOf WindowProc)
  29. End Sub
  30.  
  31. Public Sub Unhook()
  32.     Dim temp As Long
  33.     temp = SetWindowLong(gHW, GWL_WNDPROC, lpPrevWndProc)
  34. End Sub
  35. Function WindowProc(ByVal hw As Long, ByVal uMsg As _
  36. Long, ByVal wParam As Long, ByVal lParam As Long) As _
  37. Long
  38. Dim a As Long
  39.     If uMsg = WM_QUERYENDSESSION Then
  40.             SDAttempted = SDAttempted + 1
  41.             WindowProc = CallWindowProc(lpPrevWndProc, hw, _
  42.             WM_CANCELMODE, wParam, wParam)
  43.              Exit Function
  44.     End If
  45.     WindowProc = CallWindowProc(lpPrevWndProc, hw, _
  46.     uMsg, wParam, lParam)
  47. End Function

En el form Load o Activate:

Código: Visual Basic
  1. SDAttempted = 0
  2. gHW = Me.hwnd
  3. Hook
« Última modificación: Julio 08, 2011, 10:30:32 am por ANTRAX »


 

¿Te gustó el post? COMPARTILO!



Apagar el equipo, reiniciar Windows, reiniciar el Sistema

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1390
Último mensaje Julio 26, 2010, 10:31:47 am
por ANTRAX
Como Guardar datos en el registro de Windows

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1441
Último mensaje Julio 26, 2010, 11:03:30 am
por ANTRAX
ProgressBar al estilo Windows 95

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1493
Último mensaje Julio 26, 2010, 01:38:02 pm
por ANTRAX
Biblioteca de Apis de Windows

Iniciado por alexander1712

Respuestas: 23
Vistas: 11017
Último mensaje Enero 26, 2013, 02:41:25 am
por alexander1712