<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AutoHotKey:отслеживание выхода из режима пониженного энергопотребления]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2655&amp;type=atom" />
	<updated>2009-01-08T16:21:17Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=2655</id>
		<entry>
			<title type="html"><![CDATA[AutoHotKey:отслеживание выхода из режима пониженного энергопотребления]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=17916#p17916" />
			<content type="html"><![CDATA[<p><strong>Отслеживание выхода системы из режима пониженного энергопотребления</strong></p><div class="codebox"><pre><code>OnMessage(0x0218, &quot;WM_POWERBROADCAST&quot;)
Return

WM_POWERBROADCAST(wParam, lParam)
{
    PBT_APMRESUMECRITICAL  := 0x0006
    PBT_APMRESUMESUSPEND   := 0x0007
    PBT_APMRESUMEAUTOMATIC := 0x0012
    
    If (wParam = PBT_APMRESUMEAUTOMATIC) Or (wParam = PBT_APMRESUMESUSPEND) Or (wParam = PBT_APMRESUMECRITICAL)
        MsgBox, 262144, WM_POWERBROADCAST, Выход из спящего или ждущего режима
    
    Return
}</code></pre></div><p><em>Замечания:</em><br />* Согласно статьи MSDN <a href="http://msdn.microsoft.com/en-us/library/aa373247.aspx">WM_POWERBROADCAST Message</a> не существует возможности определить в каком именно состоянии (Sleep, StandBy, Suspend, Hibernate) находилась система перед получением сообщения о выходе из состояния ожидания. Также сказано, что сведения об этом записываются в системный журнал событий <em>[я этого, под Windows XP SP3, не наблюдал]</em>.<br />* Согласно статьи MSDN <a href="http://msdn.microsoft.com/en-us/library/aa373247.aspx">WM_POWERBROADCAST Message</a> и статьи <a href="http://www.codeproject.com/KB/system/OSEvents.aspx">Handling OS events like Sleep, Stand-by, Hibernate, Power Status Changed, Low Battery, Critial Suspend, AC Power, Battery Power, Battery Life etc... in Windows XP and Vista</a>, сообщение PBT_APMRESUMEAUTOMATIC <em>должно</em> приходить перед PBT_APMRESUMESUSPEND или PBT_APMRESUMECRITICAL. Однако до обработчика, описанного в вышеприведённом скрипте, оно, похоже, не доходит, — возможно, потому, что как раз по этому сообщению сам скрипт узнаёт, что можно продолжить работу.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2009-01-08T16:21:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=17916#p17916</id>
		</entry>
</feed>
