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

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Работа с двумя окнами

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

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

Top