Skip to content

Instantly share code, notes, and snippets.

@proffix4
Last active July 18, 2025 07:06
Show Gist options
  • Save proffix4/365a1d42a7eb193c719a2cecfa9e1ba8 to your computer and use it in GitHub Desktop.
Save proffix4/365a1d42a7eb193c719a2cecfa9e1ba8 to your computer and use it in GitHub Desktop.
Launch ASUS DisplayWidget Center
#Requires AutoHotkey v2.0 ; Указывает, что скрипт требует AutoHotkey версии 2.0 или выше для работы
Run "C:\Program Files (x86)\ASUS\DisplayWidgetCenter\DisplayWidgetCenter.exe" ; Запускает приложение ASUS DisplayWidgetCenter по указанному пути
WinWait "ahk_exe DisplayWidgetCenter.exe" ; Ожидает появления окна приложения с исполняемым файлом DisplayWidgetCenter.exe
WinActivate "ahk_exe DisplayWidgetCenter.exe" ; Активирует (приводит в фокус) окно приложения DisplayWidgetCenter
WinWaitActive "ahk_exe DisplayWidgetCenter.exe" ; Ожидает, пока окно приложения станет активным (в фокусе)
; Пауза для загрузки интерфейса
Sleep 5000 ; Делает паузу на 5000 миллисекунд (5 секунд), чтобы интерфейс приложения успел полностью загрузиться
; Получаем размеры окна
WinGetPos(&X, &Y, &W, &H, "ahk_exe DisplayWidgetCenter.exe") ; Получает координаты (X, Y) верхнего левого угла окна и его размеры (W - ширина, H - высота)
; Положение кнопки (отступ от правого верхнего угла)
BtnX := X + W - 20 ; Вычисляет X-координату кнопки: берёт X окна, прибавляет ширину окна и отступает на 20 пикселей от правого края
BtnY := Y + 15 ; Вычисляет Y-координату кнопки: берёт Y окна и прибавляет 15 пикселей от верхнего края
; Перемещаем курсор
MouseMove BtnX, BtnY, 0 ; Перемещает курсор мыши в вычисленные координаты (BtnX, BtnY) с максимальной скоростью (0)
Sleep 100 ; Делает паузу на 100 миллисекунд, чтобы дать интерфейсу время среагировать на перемещение курсора
; Пробуем разные способы активации
Click "Left", 1 ; Выполняет одиночный клик левой кнопкой мыши в текущей позиции курсора
Sleep 100 ; Делает паузу на 100 миллисекунд для стабилизации действия
MouseClick "Left", BtnX, BtnY, 1, 0, "D" ; Эмулирует нажатие левой кнопки мыши в координатах (BtnX, BtnY) без перемещения курсора
Sleep 50 ; Делает паузу на 50 миллисекунд между нажатием и отпусканием кнопки
MouseClick "Left", BtnX, BtnY, 1, 0, "U" ; Эмулирует отпускание левой кнопки мыши в тех же координатах
Sleep 100 ; Делает паузу на 100 миллисекунд перед следующей попыткой активации
Send "{Enter}" ; Отправляет клавишу Enter как альтернативный способ активации кнопки, если клик не сработал
Sleep 100 ; Делает паузу на 100 миллисекунд для стабилизации
;;Send "{Space}" ; Отправляет клавишу Space как ещё один альтернативный способ активации кнопки
;;Sleep 100 ; Делает паузу на 100 миллисекунд для стабилизации
;;Send "{Esc}" ; Отправляет клавишу Esc против ложного срабатывания кнопки "Пуск"
; Активирует рабочий стол
WinActivate "ahk_class Progman"
; Перемещает курсор в центр экрана
MouseMove A_ScreenWidth // 2, A_ScreenHeight // 2, 0
; Выполняет одиночный клик левой кнопкой мыши в текущей позиции курсора
Click "Left", 1
Sleep 100 ; Делает паузу на 100 миллисекунд для стабилизации
; Выполняет повторный контрольный одиночный клик левой кнопкой мыши в текущей позиции курсора
Click "Left", 1
ExitApp ; Завершает выполнение скрипта
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment