Тема: AHK: При событии «выключения компьютера» — уход в «Ждущий режим»
Можно ли AHKобразно отловить и подменить событие "выключения" — событием "Ждущего режима"?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Серый форум → Общение → AutoHotkey → AHK: При событии «выключения компьютера» — уход в «Ждущий режим»
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Можно ли AHKобразно отловить и подменить событие "выключения" — событием "Ждущего режима"?
А, вспомнил:
#SingleInstance Force
SetTimer, RunBeforeShutdown, Off
DllCall("kernel32.dll\SetProcessShutdownParameters", UInt, 0x4FF, UInt, 0)
OnMessage(0x11, "WM_QUERYENDSESSION")
Return
WM_QUERYENDSESSION(wParam, lParam)
{
static sdtry = 0
ENDSESSION_Logoff = 0x80000000
If (lParam & ENDSESSION_Logoff) ; User is logging off.
EventType = Logoff
Else ; System is either shutting down or restarting. and
EventType = Shutdown
If (EventType = "Shutdown" or "Logoff" and sdtry = 0){
sdtry = 1
SetTimer, RunBeforeShutdown, On
Return false ; Tell the OS to Abort the Shutdown/Logoff.
}
Else If (EventType = "Shutdown" or "Logoff" and sdtry = 1)
Return true
}
runBeforeShutdown:
SetTimer, RunBeforeShutdown, Off
If (EventType = "Shutdown")
GoSub, l_Sleep
Else
MsgBox, Logoff
Reload
l_Sleep:
; Вызов функции Windows API "SetSuspendState" для перехода в ждущий или спящий режим.
; Windows 95/NT4: поскольку этой функции нет, последующий код не произведёт эффекта.
; Параметр №1: 1 - спящий, 0 - ждущий.
; Параметр №2: 1 - ждущий режим немедленно, 0 - опросить все приложения о разрешении.
; Параметр №3: 1 - все "пробуждающие" события отключены, 0 - включены.
DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)
ReturnСтраницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться