Hallo!
Auch mich hat das AutoIT-Fieber gepackt und ich bin momentan auch fleißig am scripten
Jetzig bin ich an einer Automatisierten IP-Cop Konfiguration beschäftigt und stieß nun auf folgende Problematik:
Mein Problem bezieht sich auf die Zeilen 23 - 29. Die While, in der (während des Anmeldevorgangs) überprüft werden soll, ob ein Window mit dem Titel "Passwort - " & "root@" & $dir[6]" auftaucht. Es soll Kompatibel mit auch älteren Rechnern sein (diese würden wahrscheinlich längere Ladezeiten haben, als mein Testrechner) daher kann ich nicht einfach ein sleep() anstatt eine Schleife benutzen.
Die Frage bzw. das Problem ist folgende:
Er führt die While zu kurz aus, da ich ja schon $tmp_while_pwdcheck auf 0 setze und somit die While gekillt ist. Sollte es also ein langsamer Rechner sein, setzt er die While zu früh auf 0 und überprüft demnach nichtmehr, ob das Fenster auftaucht. Wie kann ich es (besser) realisieren, dass ich bis zum erfolgreichen Anmelden eine Überprüfung auf das genannte Fenster mache?
Vielen Dank im Vorraus,
MfG
Wiibrew
Spoiler anzeigen
;WinSCP Konfiguration
Func WinSCP_Config()
;Aufbau/Speicherung des Pfadnamens (zur Identifizierung des StandortConfigs)
$dir[3] = $dir[0] & GUICtrlRead (3)
;Auslesen und speicherung sowie entschlüsselung des Passwortes des Standortes
;;StringEncrypt(0, ...) Entschlüsselt den IniEintrag aus $dir[3] aus der Sektion "PWD" des Eintrages "WinSCP"
;;;StringReverse dreht die Reihenfolge des IniEintrages aus $dir[3] der Sektion "PWD" des Eintrages "WinSCP" wieder um.
;;;;;;$dir[5] = FileReadLine($dir[3] & "\login.txt")
$dir[5] = _StringEncrypt(0, _StringReverse(IniRead($dir[3] & "\" & GUICtrlRead (3) & ".ini", "PWD", "WinSCP", "Fehler beim Lesen der INI")), _StringReverse(IniRead($dir[3] & "\" & GUICtrlRead (3) & ".ini", "PWD", "Key", "Fehler beim Lesen der INI")))
;Auslesen/Zwischenspeicherung der IP des IPCops
$dir[6] = IniRead($dir[3] & "\" & GUICtrlRead (3) & ".ini", "IP", "Proxy", "Fehler beim Lesen der INI")
WinWaitActive("WinSCP Anmeldung")
;Konfigurieren der Zugansdaten zum IPCop-Datentransfer
send($dir[6] & "{TAB}" & "root" & "{TAB}" & $dir[5] & "{TAB}" & "222")
sleep(100)
;Verbindungsaufbau zum IP-Cop
send("{ENTER}")
;Bei falschem Passwort, Aufforderung zur Überprüfung der Daten
$tmp_while_pwdcheck = 1
while $tmp_while_pwdcheck >= 1
if WinExists("Passwort - " & "root@" & $dir[6]) == 1 Then
MsgBox(0,"Fehler bei der Anmeldung","Logindaten fehlerhaft. Fehler bei der Anmeldung.")
EndIf
$tmp_while_pwdcheck = 0
WEnd
WinWaitActive("root - root@" & $dir[6] & " - WinSCP")
;MsgBox(0, $tmp_while_pwdcheck & "-" & $dir[6])
EndFunc