Что нового

Выключение монитора( без возможности включения движением мыши )

Dimmak

Знающий
Сообщения
185
Репутация
9
Очень нужен скрипт для выключение ТОЛЬКО монитора для win7, но без возможности включения движением мыши. :scratch:
Подскажите, пожалуйста, информацию по этому вопросу :IL_AutoIt_1:
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Автор
Dimmak

Dimmak

Знающий
Сообщения
185
Репутация
9
Спасибо ---Zak--- :ok:
Насколько я понял. Этот вопрос решается только постоянным повторением команды выключения монитора... BlockInput мышь блокирует, но монитор по прежнему включается независимо от BlockInput. :-X
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
Zaramot [?]
если нажать CTRL+ALT+DELETE то и мышка и клавиатура разблокируется
С BlockInputEx тоже, однако ввод обратно блокируется при закрытии диалога выбора задач.
 
Автор
Dimmak

Dimmak

Знающий
Сообщения
185
Репутация
9
А c помощью BlockInputEx можно ли заблокировать мышь так, чтоб при ее движении не включался монитор, если он предварительно был отключен?? :-\
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
ребят вы хоть справку то читайте вот пример из справки :
немного подправил для 7-ки
Код:
#include <SendMessage.au3>
#RequireAdmin
_Main()

Func _Main()
    Local Const $Off = 2, $On = -1

    Opt("WinTitleMatchMode", 4)
    $hwnd = WinGetHandle('classname=Progman')
    _ToggleMonitor($hWnd, $Off)
	BlockInput(1)
    Sleep ( 30000 ) ;- на 30 секунд 
	BlockInput(0)
    _ToggleMonitor($hWnd, $On)
EndFunc

Func _ToggleMonitor($hwnd, $OnOff)
    Local Const $WM_SYSCOMMAND = 274
    Local Const $SC_MONITORPOWER = 61808
    _SendMessage($hWnd, $WM_SYSCOMMAND, $SC_MONITORPOWER, $OnOff)
    If @error Then
        MsgBox(0,"_ToggleMonitor", "_SendMessage Error: " & @error)
        Exit
    EndIf
EndFunc
 
Автор
Dimmak

Dimmak

Знающий
Сообщения
185
Репутация
9
Guezt Gutsy спасибо!! :IL_AutoIt_1:
ps Не успел я еще дочитать справку... :-[
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
Dimmak [?]
А c помощью BlockInputEx можно ли заблокировать мышь так, чтоб при ее движении не включался монитор, если он предварительно был отключен?
Монитор и так не включается если ввод заблокирован, но преимущество данной функции в том, что после нажатия «Ctrl + Alt + Del» и закрытия диалога, ввод обратно блокируется, что позволяет отслеживать нажатие этих клавиш и выключать монитор снова.

Guezt Gutsy [?]
ребят вы хоть справку то читайте вот пример из справки
Ну так монитор всё равно включается при «Ctrl + Alt + Del».
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
А вам не жалко своих мониторов? Зачем вообще понадобились такие экзекуции?

:smile:
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
CreatoR
так там только про движение мышкой написано, про нажатие на клавиши нет вообще ничего, в таком случае и просто на стрелки вверх,вниз например он включится :smile:
Yashied
полностью согласен, если нет возможности просто отключить питание монитора, то всегда можно запустить бота в виртуальную машину(я так понимаю для этих целей и оставляется включен компьютер), а основной сам по себе от бездействия потухнет... имхо...
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
Guezt Gutsy [?]
так там только про движение мышкой написано
Где там? :-\
BlockInput блокирует и мышь и клавиатуру, а кстати BlockInputEx может и раздельно.
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
CreatoR
тут :
Dimmak [?]
Очень нужен скрипт для выключение ТОЛЬКО монитора для win7, но без возможности включения движением мыши.
think.gif
Подскажите, пожалуйста, информацию по этому вопросу

BlockInput блокирует и мышь и клавиатуру, а кстати BlockInputEx может и раздельно.
BlockInput Блокировать, то блокирует, да, но если нажать на любую клавишу, то монитор Включается, а если двигать и кликать мышкой то он остается без питания, что и просил автор темы.
 

SharkyEXE

Новичок
Сообщения
134
Репутация
0
Здравствуйте

Пожалуйста, помогите изменить этот код

Чтобы мышка не работала при ВЫКЛюченном мониторе, мол при ВЫКЛюченном мониторе перемещать мышку или на мышке нажимать кнопки - чтобы монитор НЕ ВКЛючался

А ВКЛючить монитор - надо на клавиатуре нажать любую кнопку

Спасибо.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
Чтобы мышка не работала при ВЫКЛюченном мониторе
Это настраивается системно, зачем для этого скрипт?
В "Диспетчере устройств" находим "Мыши и иные указывающие устройства", открываем свойства нашей мышки, и на вкладке "Управление электропитанием" снимаем галочку "Разрешить этому устройству выводить компьютер из ждущего режима.".
 

SharkyEXE

Новичок
Сообщения
134
Репутация
0

CreatoR


Здравствуйте

Вот сделал, настройки мышки в Диспетчер устройств - картинки с Снимок1.jpg по Снимок5.jpg включительно

В настройках Плана электропитания выставил так - картинка Снимок6.jpg

Перезагрузил компьютер

Жду, прошла 1 минута, монитор погас

Просто толкнул мышку - монитор ВКЛючился

Просьба мне помочь, мне нет смысла вводить в заблуждение - у кого-то настройки мышки в Диспетчер устройств помогает, кому-то, как мне - нет, миллион и вагон конфигураций, драйверов и прочего

Лично мне просто хочется - запустил скрипт, монитор погас, толкаешь мышку или на мышке нажимаешь кнопки - монитор НЕ включается, если нажать любую кнопку на клавиатуре - монитор ВКЛючился + мышка стала рабочей - как на перемещение мышки, так и на мышке нажимаешь кнопки, если ничего не делать - через 1 минуту снова начинает работать скрипт

Спасибо
 

Вложения

  • Снимок1.jpg
    Снимок1.jpg
    238.6 КБ · Просмотры: 4
  • Снимок2.jpg
    Снимок2.jpg
    240.6 КБ · Просмотры: 4
  • Снимок3.jpg
    Снимок3.jpg
    254.8 КБ · Просмотры: 4
  • Снимок4.jpg
    Снимок4.jpg
    271.9 КБ · Просмотры: 5
  • Снимок5.jpg
    Снимок5.jpg
    249.8 КБ · Просмотры: 4
  • Снимок6.jpg
    Снимок6.jpg
    142.9 КБ · Просмотры: 4
Последнее редактирование:

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
Попробуй так (требует подключения UserInput.au3):

Код:
#NoTrayIcon
#include <SendMessage.au3>
#include <UserInput.au3>

HotKeySet('{Esc}', _Exit)
Sleep(1000)

While 1
    _Monitor_Switch(True)
  
    $aRead = _UserInput_Read('[:ALLKEYS:]')
  
    If $aRead[0] > 0 Then
        ConsoleWrite('Key Pressed: ' & _UserInput_GetKeyString($aRead[1]) & @CRLF)
        _Exit()
    EndIf
  
    Sleep(10)
WEnd

Func _Monitor_Switch($bOff)
    Local $hWnd = WinGetHandle('[CLASS:Progman]')
  
    Local Const $WM_SYSCOMMAND = 274
    Local Const $SC_MONITORPOWER = 61808
    Local Const $iOff = 2, $iOn = -1
  
    _SendMessage($hWnd, $WM_SYSCOMMAND, $SC_MONITORPOWER, ($bOff ? $iOff : $iOn))
EndFunc

Func _Exit()
    _Monitor_Switch(False)
    Exit
EndFunc
 
Последнее редактирование:
Верх