¿Hay alguna manera de cerrar o suspender todas las aplicaciones activas en un mismo PC?

Hay alguna manera de cerrar o suspender todas las aplicaciones activas en la pc?, si es que la hay me podrían ayudar a resolver este enigma ? Muy amable..

1 respuesta

Respuesta
1
¿Lo qué pides lo quieres para apagar el Pc también?. Te envío código de cómo hacerlo (según Sergey Merzlikin). Este código se encarga de ir cerrando amablemente cada una de las aplicaciones, es decir, si tienes por ejemplo un documento Word abierto éste pedirá al usuario que lo guarde. De todas maneras en un tiempo determinado acabará forzando el APAGADO DE TU ORDENADOR.
::Si realmente sólo te interesase CERRAR LAS APLICACIONES tal como dices SIN APAGAR EL PC elimina las líneas relativas a "ExitWindowsEx", tienes muy poco código que retocar en tal caso.
::Módulo principal del proyecto:
--------------------------------
Attribute VB_Name = "ShutSystem"
Option Explicit
' This module is intended to safe shut down
' Windows 95/98/NT/2000.
' To shut down Windows NT/2000 you must belong
' to Administrators or Server Operators group.
' (c) 1999-2000 Sergey Merzlikin
' ********************************************
' 25 Oct 00 - fixed bug in MsgWaitObj function
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
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Private Const VER_PLATFORM_WIN32_NT = 2&
Private Const STATUS_TIMEOUT = &H102&
Private Const INFINITE = -1&
Private Const QS_KEY = &H1&
Private Const QS_MOUSEMOVE = &H2&
Private Const QS_MOUSEBUTTON = &H4&
Private Const QS_POSTMESSAGE = &H8&
Private Const QS_TIMER = &H10&
Private Const QS_PAINT = &H20&
Private Const QS_SENDMESSAGE = &H40&
Private Const QS_HOTKEY = &H80&
Private Const QS_ALLINPUT = (QS_SENDMESSAGE Or QS_PAINT Or _
QS_TIMER Or QS_POSTMESSAGE Or _
QS_MOUSEBUTTON Or QS_MOUSEMOVE Or _
QS_HOTKEY Or QS_KEY)
Private Const EWX_SHUTDOWN = 1&
Private Const WM_CLOSE = &H10&
Private Const WM_QUERYENDSESSION = &H11&
Private Const WM_ENDSESSION = &H16&
Private Const ENDSESSION_LOGOFF = &H80000000
Private Const SMTO_ABORTIFHUNG = &H2&
Private Const STANDARD_RIGHTS_REQUIRED = &HF0000
Private Const PROCESS_TERMINATE = 1&
Private Const GWL_STYLE = -16&
Private Const GWL_EXSTYLE = -20&
Private Const WS_POPUP = &H80000000
Private Const WS_VISIBLE = &H10000000
Private Const WS_DISABLED = &H8000000
Private Const WS_EX_TOOLWINDOW = &H80&
Private Const TOKEN_ADJUST_PRIVILEGES = &H20&
Private Const TOKEN_QUERY = &H8&
Private Const SE_PRIVILEGE_ENABLED = &H2&
Private Const SE_SHUTDOWN_NAME = "SeShutdownPrivilege"
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function EnumWindows Lib "user32" _
(ByVal lpEnumFunc As Long, _
ByVal lParam As Long) As Long
Private Declare Function SendMessageTimeout Lib "user32" _
Alias "SendMessageTimeoutA" (ByVal hWnd As Long, _
ByVal msg As Long, ByVal wParam As Long, _
ByVal lParam As Long, ByVal fuFlags As Long, _
ByVal uTimeout As Long, lpdwResult As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" _
(ByVal hWnd As Long, lpdwProcessId As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" _
(ByVal dwD
Mil Gracias por todas las molestias Un abrazo
Como no padre, el e mail es [email protected] desde ya mil gracias !
Por lo que veo no cabe la respuesta, así que indícame tu mail.
::Ciao,
infomatms.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas