#include <SendMessage.au3>
HotKeySet('^!i', '_Exit')
While 1
Sleep(100)
Opt("WinTitleMatchMode", 4)
$hwnd = WinGetHandle('classname=Progman')
_SendMessage($hWnd, 274, 61808, 2)
WEnd
Func _Exit()
_SendMessage($hWnd, 274, 61808, -1)
Exit
EndFunc
HotKeySet("!{F7}", "On")
HotKeySet("!{F7}", "Off")
While 1
Sleep(500)
Wend
Func Off()
_Monitor("off")
EndFunc
Func On()
_Monitor()
EndFunc
Func _Monitor($sIo_control = "on")
Local $iWM_SYSCommand = 274
Local $iSC_MonitorPower = 61808
Local $iSC_ScreenSave = 61760
Local $hWnd = WinGetHandle("[CLASS:Progman]")
Switch StringUpper($sIo_control)
Case "OFF"
DllCall("user32.dll", "int", "SendMessage", "hwnd", $hWnd, "int", $iWM_SYSCommand, "int", $iSC_MonitorPower, "int", 2)
Case "ON"
DllCall("user32.dll", "int", "SendMessage", "hwnd", $hWnd, "int", $iWM_SYSCommand, "int", $iSC_MonitorPower, "int", -1)
Case "POWERSAVE"
DllCall("user32.dll", "int", "SendMessage", "hwnd", $hWnd, "int", $iWM_SYSCommand, "int", $iSC_MonitorPower, "int", 1)
Case "SCREENSAVER"
DllCall("user32.dll", "int", "SendMessage", "hwnd", $hWnd, "int", $iWM_SYSCommand, "int", $iSC_ScreenSave, "int", 0)
Case Else
MsgBox(64, @ScriptName, "Command usage: on/off/powersave/screensaver")
EndSwitch
EndFunc;==>_Monitor
_NirCMD_Monitor("off")
Sleep(2000)
_NirCMD_Monitor()
Func _NirCMD_Monitor($sState = "on")
Run("nircmd.exe monitor "&$sState)
EndFunc
tctdllreg сказал(а):Тогда возникает перегрев.
тогда код не будет работать.Поставьте в настройках энергосбережения режим Sleep на закрытие крышки.
Вентиляционные решётки находятся по бокам клавиатуры; при закрытой крышке значительно затрудняется циркуляция воздуха, ноутбук греется прямо на глазах. Sleep тоже не годится, как уже подметили выше, тогда не работает то, ради чего весь этот сыр-бор затевался.Откуда перегрев? Поставьте в настройках энергосбережения режим Sleep на закрытие крышки.
Я имел в виду, чтоб монитор не включался при движениях мыши и нажатиях произвольных клавиш, но включался от определённой комбинации клавиш. Путь с утилитой выглядит перспективным, но рискованным. Может ли получиться так, что я отключу монитор настолько сильно, что его спасёт только переустановка винды?tctdllreg
А как его включать если монитор не будет реагировать на мышь и клавиатуру? Можно ещё попробовать скрипт сделанный с использованием devcon. Отключить устройства и не будет реагировать.
Способ классный, спору нет, но структурная целостность ноутбука всё ж милее. Монитор ноутбука в большинстве случаев запитывается непосредственно от БП ноутбука, обесточить его отдельно без переделки ноута в моей модели нельзя.Вот хороший способ:
1. Идем где воткнут монитор в розетку
2. Выдераем из розетки
3. Радуемся что монитор выключен
;D
Добавлено: Октябрь 15, 2011, 09:22:44
а вообще зайди в настроики электоропитания, по бездействию можно поставить чтоб монитор выключался, а все устроиства и мозги работают...
Автор темы | Похожие темы | Форум | Ответы | Дата |
---|---|---|---|---|
P | Shutty – удобное управление состояниями питания ОС и компьютера | Примеры и рабочие проекты | 3 | |
M | [Реестр] Изменение плана электропитания. | Общие вопросы по AutoIt | 4 | |
A | Как получить информацию об изменении схемы питания компьютера. | Стол заказов | 29 |