hast du WinActivate mit dem Class Namen versucht?
dies sollte das kleine Fenster in den Vordergrund holen und kannst entweder mit send oder controlsend arbeiten.
AutoIt
Opt("WinTitleMatchMode", 2); Aktiviert den Titel-Abgleichmodus "substring". Dies bedeutet, dass der angegebene Fenstertitel als Teilstring des tatsächlichen Fenstertitels abgeglichen wird.
Run("C:\Program Files (x86)\StarMoney 13 Basic\app\StartStarMoney.exe")
While 1; Startet eine unendliche Schleife.
; WinActivate Prüft, ob das Fenster mit dem angegebenen Klassennamen aktiviert werden kann.
; Wenn das Fenster erfolgreich aktiviert wurde, wird der folgende Codeblock ausgeführt.
If WinActivate("[CLASS:HwndWrapper[DefaultDomain'(usw)]") Then
ControlSend("", "Dein Passwort", "", "{Enter}"); Sendet das angegebene Passwort an das aktive Fenster und drückt die Enter-Taste.
Exit; Beendet das Skript.
; Wenn das Fenster nicht aktiviert werden konnte, wird der Codeblock übersprungen und die Schleife fortgesetzt.
endif
Wend
Alles anzeigen
wobei ich mir nicht sicher bin ob man auch das so schreiben muss
oder nur so sein muss
Code ist nicht getestet habe das Programm nicht, den Namen richtig anpassen und versuchen ![]()
sry für die vielen Edits.
habe grad mit einem anderen Programm getestet. bei mir hat es nicht funktioniert ^^, du kannst es natürlich auch so versuchen :
AutoIt
global $pid=0,$path = "C:\Program Files (x86)\StarMoney 13 Basic\app\StartStarMoney.exe"
$pid = run($path)
While 1; Startet eine unendliche Schleife.
IF $pid = 0 Then ; Wenn PID = 0 ist wird die Schleife fortgesetzt, und eine Konsolenmeldung ausgeben.
ConsoleWrite($path&' konnte nicht gestartet werden.'&@CRLF)
Elseif $pid <> 0 Then ;Wenn PID ungleich 0 ist wird 7sec gewartet und dann ControlSend ausgeführt.
Sleep(7000)
ControlSend("", "Dein Passwort", "", "{Enter}") ;Sendet das angegebene Passwort an das aktive Fenster und drückt die Enter-Taste.
Exit ;Beendet die Schleife.
endif
Wend
Alles anzeigen