Автор Тема: Гасим экран, ловим мышь  (Прочитано 528 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн VadimKHL [?]

  • Новичок
  • *
  • Сообщений: 82
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Гасим экран, ловим мышь
« Создано: Март 28, 2017, 16:17:54 »
Добрый день!

Подскажите пожалуйста, как можно решить следующую задачу.
Имеем монитор с тач-скрин.
Есть скрипт, в нем кнопка "потушить экран".
При ее нажатии, физически выключается питание матрицы монитора.
Но тач скрин работать продолжает.
И при следующем нажатии на экран (в любое место), нужно включить монитор.

Первое что приходит в голову, это если мы выключили экран, следующее нажатие мыши нужно отловить, и данный клик не должен быть отработан (заблокирован).
Такое возможно сделать или есть какие либо другие варианты решения?

Русское сообщество AutoIt

Гасим экран, ловим мышь
« Отправлен: Март 28, 2017, 16:17:54 »

Оффлайн VadimKHL [?]

  • Новичок
  • *
  • Сообщений: 82

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Гасим экран, ловим мышь
« Ответ #1, Отправлен: Март 28, 2017, 23:06:00 »
Народ, Хелп!
Ничего не получается. :'(


Добавлено: Март 28, 2017, 23:29:25
Мысля появилась!

Может это можно так решить, при включении режима "монитор выключен",
создавать окно во весь экран, поверх всех окон.
В нем кнопка, также во весь экран, которая включает монитор.
Тогда точно мышей нажмешь только на включение монитора.  :)

Тогда возникают следующие вопросы:
1) Возможно ли определить разрешение экрана монитора, что бы создать окно во весь экран?
2) Может ли окно быть по верх панели задач Windows (где пуск кнопка)?
3) Как сделать, что бы данное окно было всегда поверх всех остальных и всегда активном?





Добавлено: Март 28, 2017, 23:45:11
Ага,
$WINGUI = GUICreate("SLEEP LCD", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP)


Добавлено: Март 28, 2017, 23:45:42
Единственный вопрос, номер 3 который.


Добавлено: Март 28, 2017, 23:52:10
Вот пока чего добился:
Код: AutoIt [Выделить]
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>

Opt("TrayIconHide", 1) ; Скрыть иконку в трее.
Opt("GUIOnEventMode", 1) ; Включить режим отслеживания событий GUI.

$WINGUI = GUICreate("SLEEP LCD", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP)
GUICtrlCreateButton("TURN ON MONITOR", 0, 0, @DesktopWidth, @DesktopHeight)
GUICtrlSetOnEvent(-1, "_CLOSEEvent")
GUISetState(@SW_SHOW, $WINGUI)

While 1
   sleep(100)
WEnd

Func _CLOSEEvent()
    Exit
EndFunc
 




Добавлено: Март 28, 2017, 23:55:30
Т.е. вопрос остался, как сделать окно всегда сверху и активное, что бы не происходило в других программах?
И не сворачиволось по ALT-TAB и т.д. ???


Добавлено: Март 29, 2017, 00:40:17
Немного спасает положение $GUISLEEP = GUICreate("SLEEP LCD", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOPMOST),
окно поверх всех окон.

Но проблема осталась, при нажатии кнопки виндовс или ALT-TAB, появляется меню и тулл бар :(
Как можно это решить?



Добавлено: Март 29, 2017, 00:55:23
Всем спасибо за помощь. ;D
Проблему решил так:
Код: AutoIt [Выделить]
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>

Opt("GUIOnEventMode", 1) ; Включить режим отслеживания событий GUI.
Opt("TrayIconHide", 1) ; Скрыть иконку в трее.

$GUISLEEP = GUICreate("SLEEP LCD", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOPMOST)
GUICtrlCreateButton("TURN ON MONITOR", 0, 0, @DesktopWidth, @DesktopHeight)
GUICtrlSetOnEvent(-1, "_CLOSEEvent")
GUISetState(@SW_SHOW, $GUISLEEP)

While 1
   WinWaitNotActive($GUISLEEP)
   WinActivate($GUISLEEP)
WEnd

Func _CLOSEEvent()
    Exit
EndFunc
 

« Последнее редактирование: Март 29, 2017, 00:55:24 от VadimKHL, Причина: Объединение сообщений »

Русское сообщество AutoIt

Re: Гасим экран, ловим мышь
« Ответ #1 Отправлен: Март 28, 2017, 23:06:00 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
5 Ответов
6798 Просмотров
Последний ответ Июнь 23, 2010, 16:19:30
от FlatX007
8 Ответов
3474 Просмотров
Последний ответ Ноябрь 19, 2011, 12:40:02
от CreatoR
0 Ответов
1753 Просмотров
Последний ответ Октябрь 21, 2013, 13:41:36
от SHoCK13666
15 Ответов
3769 Просмотров
Последний ответ Январь 31, 2014, 19:22:16
от InnI
3 Ответов
2179 Просмотров
Последний ответ Август 25, 2015, 14:15:44
от alex33
1 Ответов
783 Просмотров
Последний ответ Июнь 03, 2014, 13:54:51
от firex
3 Ответов
1043 Просмотров
Последний ответ Июль 29, 2014, 14:13:38
от madmasles
4 Ответов
1141 Просмотров
Последний ответ Февраль 13, 2015, 12:28:21
от greg6
2 Ответов
827 Просмотров
Последний ответ Июнь 16, 2015, 21:49:55
от avtoIT
2 Ответов
1627 Просмотров
Последний ответ Март 18, 2016, 09:55:09
от Vovsla