|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Функция "отключения монитора" |
|
[решено] Функция "отключения монитора"
|
Старожил Сообщения: 379 |
Профиль | Отправить PM | Цитировать Есть ли такая функция, чтобы прервать сигнал монитора с видео картой и соответственно отключить монитор?
|
|
------- Отправлено: 23:16, 05-08-2009 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Функции для отключения/включения монитора:
#NoTrayIcon Global Const $lciWM_SYSCommand = 274 Global Const $lciSC_MonitorPower = 61808 Global Const $lciPower_Off = 2 Global Const $lciPower_On = -1 Global $MonitorIsOff = False HotKeySet("{F11}", "_Monitor_OFF") HotKeySet("{F10}", "_Monitor_ON") HotKeySet("{Esc}", "_Quit") MsgBox(64, "Monitor On/Off", "Press F11 to turn off the monitor." & @LF & _ "Press F10 to turn on the monitor back." & @LF & _ "Press ESC to turn on the monitor and exit program.") While 1 Sleep(10) WEnd Func _Monitor_ON() $MonitorIsOff = False Local $Progman_hwnd = WinGetHandle('[CLASS:Progman]') DllCall('user32.dll', 'int', 'SendMessage', _ 'hwnd', $Progman_hwnd, _ 'int', $lciWM_SYSCommand, _ 'int', $lciSC_MonitorPower, _ 'int', $lciPower_On) EndFunc Func _Monitor_OFF() $MonitorIsOff = True Local $Progman_hwnd = WinGetHandle('[CLASS:Progman]') While $MonitorIsOff = True DllCall('user32.dll', 'int', 'SendMessage', _ 'hwnd', $Progman_hwnd, _ 'int', $lciWM_SYSCommand, _ 'int', $lciSC_MonitorPower, _ 'int', $lciPower_Off) _IdleWaitCommit(0) Sleep(20) WEnd EndFunc Func _IdleWaitCommit($idlesec) Local $iSave, $LastInputInfo = DllStructCreate ("uint;dword") DllStructSetData ($LastInputInfo, 1, DllStructGetSize ($LastInputInfo)) DllCall ("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr ($LastInputInfo)) Do $iSave = DllStructGetData ($LastInputInfo, 2) Sleep(60) DllCall ("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr ($LastInputInfo)) Until (DllStructGetData ($LastInputInfo, 2)-$iSave) > $idlesec Or $MonitorIsOff = False Return DllStructGetData ($LastInputInfo, 2)-$iSave EndFunc Func _Quit() _Monitor_ON() Exit EndFunc |
------- Отправлено: 00:27, 06-08-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Creat0R, попутный, интересующий меня, вопрос: Вы не замечали какую-либо разницу при использовании lParam = 1 (low power) и lParam = 2 (shut off), как в вышеприведённом Вашем скрипте (вроде бы некая разница должна быть, но визуально я не заметил различий)?
|
Отправлено: 03:33, 06-08-2009 | #3 |
Старожил Сообщения: 379
|
Профиль | Отправить PM | Цитировать Да, спасибо Creator... Мне в личке proxi твой код скинул уже Ещё вчера его опробовал... Потрясающе!!!! Всё как и хотелось Даже с хоткеями точно попал
|
------- Отправлено: 08:50, 06-08-2009 | #4 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Iska, посмотри тут: "ENERGY STAR specification for Monitors/Displays ",
иногда отличается временем включения монитора (на CRT мониторах было заметней) |
|
Отправлено: 10:13, 06-08-2009 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать amel27, за первое — знаю, но всё равно спасибо; за второе — отдельное спасибо: меня именно это интересовало, поскольку сам я, как писал выше, что на CRT, что на LCD этой разницы не видел.
|
Отправлено: 11:52, 06-08-2009 | #6 |
Старожил Сообщения: 168
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
|
|
Отправлено: 17:46, 07-01-2011 | #7 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата angry_dog:
|
|
------- Отправлено: 00:04, 08-01-2011 | #8 |
Старожил Сообщения: 168
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
|
|
Отправлено: 00:27, 08-01-2011 | #9 |
Старожил Сообщения: 307
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 00:36, 08-01-2011 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Как сделать ярлык для включения и отключения режима "расширить эти экраны" | Vidok08 | Microsoft Windows 7 | 2 | 07-11-2009 21:19 | |
Интерфейс - [решено] Как удалить папку "Моя музыка","Мои Картинки", "Мое видео"? | verdix | Microsoft Windows 2000/XP | 3 | 03-10-2009 23:46 | |
[решено] Монитор или видеокарта.. назвовем так "Работа монитора не в полную силу.." | Selendal | Непонятные проблемы с Железом | 9 | 25-03-2008 20:41 | |
Ошибка - Не работает функция автозапуска "Всегда выполнять выбранное действие" | sanmon | Microsoft Windows 2000/XP | 1 | 20-03-2008 17:41 | |
[решено] неработает функция "звукозапись" | rustam1107 | Microsoft Windows Vista | 6 | 03-05-2007 01:20 |
|