
AutoIt a funkce ClipGet()
Zdravím.
Používám AutoIt v3.3.10.2 a mám problém s tím, že funkce ClipGet() někdy (většinou ano, ale není na to spolehnutí) nenačte text předtím uložený do schránky přes Ctrl-Ins (Ctrl-C tam není podporované). Ve schránce ten uložený text přitom je. Je vidět, že kurzor myši na tom místě klikne a problikne i zvýraznění vybraného textu ale do proměnné $bak se to nedostane.
Zjistil jsem, že částečně pomůže vložit krátkou prodlevu mezi vložením na obrazovce vybraného textu do schránky a vlastní funkcí. Spolehlivé to ale i tak úplně není.
V tomto případě si někdy opakovaně klikne a tváří se jako by údaj nepřečetl.
Příklad kousku kódu
;; Čekám až se na určeném místě obrazovky objeví text "usp" abych mohl pokračovat dál
MouseClick("left",86,819,2)
Send("{CTRLDOWN}{INS}{CTRLUP}")
Sleep(200)
$bak = ClipGet()
if $bak <> "usp" Then
ClipPut ( " " )
sleep (1000)
MouseClick("left",86,819,2)
Send("{CTRLDOWN}{INS}{CTRLUP}")
Sleep(200)
$bak = ClipGet()
if $bak <> "usp" Then
ClipPut ( " " )
sleep (1000)
MouseClick("left",86,819,2)
Send("{CTRLDOWN}{INS}{CTRLUP}")
Sleep(200)
$bak = ClipGet()
if $bak <> "usp" Then
ClipPut ( " " )
sleep (1000)
else
Exit
EndIf
EndIf
EndIf
;; Ok našel se, jdeme dál
MouseMove(152,818)
MouseClick("left",152,818,2)
Send("{CTRLDOWN}{INS}{CTRLUP}")
Sleep(200)
$bak = ClipGet()
if number($bak) = 259 Or number($bak) = 254 Then
Send("{SPACE}n")
EndIf
Nemáte nějaký jiný tip, co s tím?