Задача с которой не справился ни ChatGPT ни Claude Topic is solved

Помощь в написании скриптов
Frommer

Задача с которой не справился ни ChatGPT ни Claude

Post by Frommer » 04 Dec 2024, 17:08

Есть скрипт

Code: Select all

#Requires AutoHotkey v2.0

; Запускаем программу
Run("C:\Program Files\VoiceAttack\VoiceAttack.exe")
Sleep(5000) ; Ожидание 2 секунды для открытия окна

; Находим окно программы
win := WinExist("ahk_exe VoiceAttack.exe") ; Поиск окна по имени процесса

if win
{
    ; Проверяем активность окна
    if !WinActive(win)
    {
        WinActivate(win)
        Sleep(500) ; Небольшая пауза для активации окна
    }

    ; Отладка: Выводим найденный идентификатор окна
    MsgBox("Найдено окно! HWND: " . win)

    ; Получаем позицию окна с помощью WinGetPos
    ; Используем & для передачи переменных по ссылке
    x := 0, y := 0, w := 0, h := 0
    WinGetPos(&x, &y, &w, &h, win)

    if (x != 0 && y != 0)  ; Проверка, получены ли координаты
    {
        MsgBox("Координаты окна: X: " . x . ", Y: " . y . ", Ширина: " . w . ", Высота: " . h)

        ; Вычисляем координаты для клика (537 по оси X, 0 по оси Y)
        ClickX := x + 544
        ClickY := y + 55
        MsgBox("Клик по координатам: X: " . ClickX . ", Y: " . ClickY)

        ; Выполняем клик
        Click(ClickX, ClickY)
    }
    else
    {
        ; Если получить данные не удалось
        MsgBox("Не удалось получить позицию окна с помощью WinGetPos!")
    }
}
else
{
    MsgBox("Окно VoiceAttack не найдено! Проверьте имя процесса.")
}
Запускаем, работает.

Но просто убираем из скрипта все MsgBox и скрипт работать перестает. Просто не кликает туда куда нужно: ClickX := x + 544
ClickY := y + 55. Курсор просто улетает куда-то за правый край экрана.

Мучил все хваленые нейросети, но они так и не разобрались, хотя я посылал им все ошибки, которые выскакивали после их предложений.
Last edited by Ragnar on 04 Dec 2024, 17:50, edited 1 time in total.
Reason: code tags

mcl
Posts: 392
Joined: 04 May 2018, 16:35

Re: Задача с которой не справился ни ChatGPT ни Claude  Topic is solved

Post by mcl » 06 Dec 2024, 17:53

Если я правильно понял, Вы хотите щёлкнуть где-то внутри этого окна — ну так для этого есть ControlClick, в крайнем случае CoordMode.

Post Reply

Return to “Помощь”