Работа с двумя окнами

Помощь в написании скриптов
marusa122
Posts: 135
Joined: 22 Mar 2023, 07:48

Работа с двумя окнами

Post by marusa122 » 22 Mar 2023, 08:17

Здравствуйте!
Пытаюсь сделать скрипт. Задача - при нажатии сочетания клавиш "-25" скопировать число в Окне1 (окно браузера, число всегда находится на одном и том же месте), потом открыть Калькулятор (Окно2), вставить туда это число, разделить его на 100, потом вычесть из результата 25 и показать итог в том же калькуляторе. Пробовала задать движения мышки по координатам с помощью MouseMove, Click и Click 2 - удалось только выделить число в Окне1 (не скопировать) и открыть Окно2. Дальше мышка начинает нажимать не на клавиши в Калькуляторе, а возвращается в окно браузера и там после этого почему-то вызывается DevTools. Что я делаю не так?..
Пробовала запускать Калькулятор так:

Code: Select all

:*:-25:: ; при нажатии комбинации клавиш "-25" скрипт запускается автоматически
application :="calc.exe"
workingDir := "C:\\WINDOWS\\system32"
process_id = 0
window_title := "Калькулятор"          	
figure1 = Clipboard ; число, которое скрипт должен скопировать из уже открытого окна и вставить в открытый им калькулятор
figure2 = 25
operation := "-"

MouseMove 1266, 662
Click 2 ; выделяется число в открытом окне
tempClip := Clipboard
Send, ^{c}
copiedText := Clipboard

Run, %application%, %workingDir%, UseErrorLevel, process_id
Sleep, 5000 
Send, ^{v}

WinWaitActive, %window_title%,,2

ControlGetPos, X, Y,,, %figure1%
MouseClick, left, X, Y

Sleep, 5000 

ControlClick, %operation%, %window_title% 

ControlSend, , %figure2%, %window_title% 

Sleep, 5000 

SendEvent, = 

Sleep, 5000  

Process, Close, %process_id%
Калькулятор запускается, но выделенное ранее число в него почему-то не копируется. И еще вопрос - как добавить сюда дополнительную операцию с числом? Нужно разделить его на 100 перед тем, как вычитать 25

Return to “Помощь”