Ahoi Matrosen. Nachdem mir hier schon mal so gut geholfen wurde, wende ich mich nochmals an euch, da ich ein wenig auf dem Schlauch stehe. Also
In der Firma arbeiten wir mit dem Citrix XenApp Protal...in dieses logge ich mich automatisch mit folgendem Code ein
Run("C:\Program Files (x86)\Citrix\SelfServicePlugin\SelfService.exe -logon")
sleep(500)
WinWaitActive("Citrix Receiver")
sleep (500)
ControlSetText("Citrix Receiver", "", "[NAME:textBoxUser]", "emea\" & $user)
ControlSetText("Citrix Receiver", "", "[NAME:textBoxPass]", $Value)
sleep(500)
wobei in Zeile 5 $user mein username ist und in Zeile 6 $value das Passwort
so zu meinem Problem...ab und zu spinnen unsere IT Admins und die Gruppenrichtlinien hauen nicht richtig hin. Dann kommt es vor, dass der Befehl ControlSetText einfach keine Daten überträgt. Für den Fall möchte ich eine Abfrage der Inputfelder. Das klappt auch, doch die Warteschleife, bis der Logonbutton manuell gedrückt wird, hängt sich ewig aus...hier mal der komplette codeabschnitt
Run("C:\Program Files (x86)\Citrix\SelfServicePlugin\SelfService.exe -logon")
sleep(500)
WinWaitActive("Citrix Receiver")
sleep (500)
ControlSetText("Citrix Receiver", "", "[NAME:textBoxUser]", "emea\" & $user)
ControlSetText("Citrix Receiver", "", "[NAME:textBoxPass]", $Value)
sleep(500)
$check_input = ControlGetText("Citrix Receiver", "", "[NAME:textBoxUser]")
If $check_input == '' Then
MsgBox(0x10,"Fehler","Uuuups...da ist etwas schiefgelaufen. "& @CRLF & @CRLF & "Bitte beim Chef Melden und Daimlerdaten manuell eintragen.")
call ("warten")
Else
ControlClick("Citrix Receiver", "", "[NAME:buttonOK]")
EndIf
sleep(5000)
Func warten()
While ControlCommand("Citrix Receiver", "", "[NAME:buttonOK]", "IsChecked") ;~ solange der Anmeldebutton nicht gedrückt wurde ---> warten
Sleep(10)
WEnd
MsgBox(0,"","Angemeldet")
EndFunc
Alles anzeigen
haut nicht hin...hier nochmal die Window Infos vom Okaybutton
Spoiler anzeigen
dankt vielmals im Voraus für eure Hilfe...
der tommii