<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AutoHotKey:отслеживание выхода из режима пониженного энергопотребления]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=2655</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2655&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AutoHotKey:отслеживание выхода из режима пониженного энергопотребления».]]></description>
		<lastBuildDate>Thu, 08 Jan 2009 16:21:17 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[AutoHotKey:отслеживание выхода из режима пониженного энергопотребления]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=17916#p17916</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 08 Jan 2009 16:21:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=17916#p17916</guid>
		</item>
	</channel>
</rss>
