<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=73120&amp;view=findpost&amp;p=515882</guid>
        <pubDate>Thu, 18 Nov 2004 16:37:07 +0000</pubDate>
        <title>Как перевести компьютер  в спящий режим или ждущий режим</title>
        <link>https://forum.sources.ru/index.php?showtopic=73120&amp;view=findpost&amp;p=515882</link>
        <description><![CDATA[Dufa: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Option Explicit</div><div class="code_line">&nbsp;</div><div class="code_line">Private Const EWX_LOGOFF = 0</div><div class="code_line">Private Const EWX_SHUTDOWN = 1</div><div class="code_line">Private Const EWX_REBOOT = 2</div><div class="code_line">Private Const EWX_FORCE = 4</div><div class="code_line">Private Const TOKEN_ADJUST_PRIVILEGES = &amp;H20</div><div class="code_line">Private Const TOKEN_QUERY = &amp;H8</div><div class="code_line">Private Const SE_PRIVILEGE_ENABLED = &amp;H2</div><div class="code_line">Private Const ANYSIZE_ARRAY = 1</div><div class="code_line">Private Const VER_PLATFORM_WIN32_NT = 2</div><div class="code_line">&nbsp;</div><div class="code_line">Private Type OSVERSIONINFO</div><div class="code_line">&nbsp;&nbsp;dwOSVersionInfoSize As Long</div><div class="code_line">&nbsp;&nbsp;dwMajorVersion As Long</div><div class="code_line">&nbsp;&nbsp;dwMinorVersion As Long</div><div class="code_line">&nbsp;&nbsp;dwBuildNumber As Long</div><div class="code_line">&nbsp;&nbsp;dwPlatformId As Long</div><div class="code_line">&nbsp;&nbsp;szCSDVersion As String * 128</div><div class="code_line">End Type</div><div class="code_line">&nbsp;</div><div class="code_line">Private Type LUID</div><div class="code_line">&nbsp;&nbsp;LowPart As Long</div><div class="code_line">&nbsp;&nbsp;HighPart As Long</div><div class="code_line">End Type</div><div class="code_line">&nbsp;</div><div class="code_line">Private Type LUID_AND_ATTRIBUTES</div><div class="code_line">&nbsp;&nbsp;pLuid As LUID</div><div class="code_line">&nbsp;&nbsp;Attributes As Long</div><div class="code_line">End Type</div><div class="code_line">&nbsp;</div><div class="code_line">Private Type TOKEN_PRIVILEGES</div><div class="code_line">&nbsp;&nbsp;PrivilegeCount As Long</div><div class="code_line">&nbsp;&nbsp;Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES</div><div class="code_line">End Type</div><div class="code_line">&nbsp;</div><div class="code_line">Private Declare Function GetCurrentProcess Lib &quot;kernel32&quot; () As Long</div><div class="code_line">Private Declare Function OpenProcessToken Lib &quot;advapi32&quot; (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long</div><div class="code_line">Private Declare Function LookupPrivilegeValue Lib &quot;advapi32&quot; Alias &quot;LookupPrivilegeValueA&quot; (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long</div><div class="code_line">Private Declare Function AdjustTokenPrivileges Lib &quot;advapi32&quot; (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long</div><div class="code_line">Private Declare Function ExitWindowsEx Lib &quot;user32&quot; (ByVal uFlags As Long, ByVal dwReserved As Long) As Long</div><div class="code_line">Private Declare Function GetVersionEx Lib &quot;kernel32&quot; Alias &quot;GetVersionExA&quot; (ByRef lpVersionInformation As OSVERSIONINFO) As Long</div><div class="code_line">Private Declare Function SetSystemPowerState Lib &quot;kernel32&quot; (ByVal fSuspend As Long, ByVal fForce As Long) As Long</div><div class="code_line">&nbsp;</div><div class="code_line">Private Sub EnableShutDown()</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;Dim hProc As Long</div><div class="code_line">&nbsp;&nbsp;Dim hToken As Long</div><div class="code_line">&nbsp;&nbsp;Dim mLUID As LUID, mPriv As TOKEN_PRIVILEGES</div><div class="code_line">&nbsp;&nbsp;Dim mNewPriv As TOKEN_PRIVILEGES</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;hProc = GetCurrentProcess()</div><div class="code_line">&nbsp;&nbsp;Call OpenProcessToken(hProc, TOKEN_ADJUST_PRIVILEGES + TOKEN_QUERY, hToken)</div><div class="code_line">&nbsp;&nbsp;Call LookupPrivilegeValue(vbNullString, &quot;SeShutdownPrivilege&quot;, mLUID)</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;With mPriv</div><div class="code_line">&nbsp;&nbsp; &nbsp;.PrivilegeCount = 1</div><div class="code_line">&nbsp;&nbsp; &nbsp;.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED</div><div class="code_line">&nbsp;&nbsp; &nbsp;.Privileges(0).pLuid = mLUID</div><div class="code_line">&nbsp;&nbsp;End With</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;&#39;Enable shutdown privilege for the current application</div><div class="code_line">&nbsp;&nbsp;Call AdjustTokenPrivileges(hToken, False, mPriv, 4 + (12 * mPriv.PrivilegeCount), mNewPriv, 4 + (12 * mNewPriv.PrivilegeCount))</div><div class="code_line">&nbsp;</div><div class="code_line">End Sub</div><div class="code_line">&nbsp;</div><div class="code_line">Private Sub Command1_Click()</div><div class="code_line">&nbsp;&nbsp;Call EnableShutDown</div><div class="code_line">&nbsp;&nbsp;&#39;Suspended</div><div class="code_line">&nbsp;&nbsp;Call SetSystemPowerState(True, 0)</div><div class="code_line">&nbsp;&nbsp;&#39;Hibernates</div><div class="code_line">&nbsp;&nbsp;&#39;Call SetSystemPowerState(False, 0)</div><div class="code_line">End Sub</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Эта тема была разделена из темы &quot;<a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=72838' target='_blank'>Спящий и ждущий режимы...</a>&quot;</span></span>]]></description>
        <author>Dufa</author>
        <category>Работа с Windows</category>
      </item>
	
      </channel>
      </rss>
	