<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: При событии «выключения компьютера» — уход в «Ждущий режим»]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8692&amp;type=atom" />
	<updated>2013-09-23T15:21:37Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8692</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: При событии «выключения компьютера» — уход в «Ждущий режим»]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75511#p75511" />
			<content type="html"><![CDATA[<p>А, <a href="http://forum.script-coding.com/viewtopic.php?id=7499">вспомнил</a>:</p><div class="codebox"><pre><code>#SingleInstance Force

SetTimer, RunBeforeShutdown, Off
DllCall(&quot;kernel32.dll\SetProcessShutdownParameters&quot;, UInt, 0x4FF, UInt, 0)
OnMessage(0x11, &quot;WM_QUERYENDSESSION&quot;)
Return


WM_QUERYENDSESSION(wParam, lParam)
  {
    static sdtry = 0
    ENDSESSION_Logoff = 0x80000000
    If (lParam &amp; ENDSESSION_Logoff) ; User is logging off.
      EventType = Logoff
    Else     ; System is either shutting down or restarting. and
      EventType = Shutdown
    If (EventType = &quot;Shutdown&quot; or &quot;Logoff&quot; and sdtry = 0){
      sdtry = 1
      SetTimer, RunBeforeShutdown, On
      Return false ; Tell the OS to Abort the Shutdown/Logoff.
    }
    Else If (EventType = &quot;Shutdown&quot; or &quot;Logoff&quot; and sdtry = 1)
      Return true
  }


runBeforeShutdown:
  SetTimer, RunBeforeShutdown, Off


  If (EventType = &quot;Shutdown&quot;)
    GoSub, l_Sleep
  Else
    MsgBox, Logoff


Reload



l_Sleep:
; Вызов функции Windows API &quot;SetSuspendState&quot; для перехода в ждущий или спящий режим.
; Windows 95/NT4: поскольку этой функции нет, последующий код не произведёт эффекта.
; Параметр №1: 1 - спящий, 0 - ждущий.
; Параметр №2: 1 - ждущий режим немедленно, 0 - опросить все приложения о разрешении.
; Параметр №3: 1 - все &quot;пробуждающие&quot; события отключены, 0 - включены.
DllCall(&quot;PowrProf\SetSuspendState&quot;, &quot;int&quot;, 0, &quot;int&quot;, 0, &quot;int&quot;, 0)
Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[DD]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25263</uri>
			</author>
			<updated>2013-09-23T15:21:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75511#p75511</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: При событии «выключения компьютера» — уход в «Ждущий режим»]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=75510#p75510" />
			<content type="html"><![CDATA[<p>Можно ли AHKобразно отловить и подменить событие &quot;выключения&quot; — событием &quot;Ждущего режима&quot;?</p>]]></content>
			<author>
				<name><![CDATA[DD]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25263</uri>
			</author>
			<updated>2013-09-23T15:11:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=75510#p75510</id>
		</entry>
</feed>
