muemmi wrote: ↑29 Apr 2019, 13:34
"Code: Select all" gehört nicht dazu... oder ?
Nee, das gehört zu der feschen Codebox (die du durch
[code][/code]-Tags um den Code herum benutzen kannst; das wäre übrigens auch dir für zukünftige Posts zu empfehlen) und macht genau das, was draufsteht: Wenn du "Select All" klickst, wird der Code in der Codebox ausgewählt/markiert (zum Kopieren).
ControlSend kann schon mal tricky sein und funktioniert auch nicht zwangsläufig mit jedem Programm.
was bedeuted das "A" ? am Ende
Der dritte Parameter von ControlSend ist
WinTitle:
A steht für das aktive Fenster (angenommen, das Programmfenster ist wirklich (noch) aktiv zu dem Zeitpunkt).
ahk_class WindowsForms10.Window.8.app.0.378734a ist hier vielleicht besser.
Oder kann das ein Zeit Problem sein ? Es dauert recht lange bis der Focus auf dem Eingabefeld fürs Passwort landet
WinWaitActive wartet eigentlich bis das entsprechende Fenster aktiv ist - vielleicht aber ist das Eingabefeld dann noch nicht bereit...
denn Fokus sollte eigentlich nicht notwendig sein, da du direkt an das Kontrollelement sendest (falls der Name stimmt und das Programm mit
ControlSend zusammenarbeitet). Du könntest natürlich zu Testzwecken nen
Sleep 2000 (2000 ms = 2 Sekunden) o. ä. dazwischenstellen.
Oder probier mal
Code: Select all
run C:\PR_DE\PR.exe
WinWaitActive, ahk_class WindowsForms10.Window.8.app.0.378734a ; alternativ WinWait
msgbox
return
Space::ControlSend, WindowsForms10.EDIT.app.0.378734a1 ,12345, ahk_class WindowsForms10.Window.8.app.0.378734a
Esc::ExitApp ; drücke Escape-Taste zum Beenden
Schau, ob die
msgbox erscheint... wenn ja, bestätige mit 'OK' (wenn nicht, checke die ahk_class nochmals). Drücke dann die Leertaste ('Space') um zu senden... funktioniert das? Probier auch mal
Space::ControlSend, ,12345, ahk_class WindowsForms10.Window.8.app.0.378734a
Wenn nicht, funktioniert es, wenn du das Passwortfeld per Hand auswählst und dann Space drückst, mit
Space::Send, 12345 ?