1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. HalleMike

Beiträge von HalleMike

  • Script funktioniert nicht, wenn noch eine IE-Instanz bereits läuft

    • HalleMike
    • 22. Mai 2012 um 16:26

    Mit _IEAttach kann ich auf die Instanzen zugreifen, richtig! Ich möchte mein Script aber so haben, dass es unabhängig von irgendwelchen bereits bestehenden IE-Instanzen funktioniert. Habe auch eine Lösung gefunden:

    Spoiler anzeigen
    [autoit][/autoit] [autoit]
    Code
    ; ...... vorheriger Scriptteil vom Original ...... 
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    ;starte den IE mit einer leeren Seite, muss sein, da _IECreate() kein "https://" unterstützt 
    $dlg = _IECreate("about:blank") 
    _IELoadWait($dlg) 
    ; möchte gerne Vollbild haben ....
    send("!{SPACE}") 
    send("x") 
    ; lade jetzt die Bank-Url (https -> siehe oben) neu 
    $dlg = _IENavigate($dlg, $urlBank) 
    _IELoadWait($dlg) 
    ;nun soll das Script pausieren, solange das IE-Bankfenster geöffnet ist, ob aktiv oder nicht
    While StringInStr(StringUpper(WinGetTitle("Bankname","")),"BANKNAME") > 0 
    WEnd 
    ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    ; ..... nachfolgender Scripteil vom Original ........
    Alles anzeigen

    [autoit]

    [/autoit][/autoit]


    Auf jeden Fall war der Hinweis auf die IE.au3 Gold wert. Vielen Dank nochmal, BugFix

    MfG., HalleMike

    Ps.: Irgendwie habe ich immer noch Probleme mit der Prozedur "Code einfügen" hier in einen Beitrag. Gibt's da irgendwo 'ne Anleitung?

  • Script funktioniert nicht, wenn noch eine IE-Instanz bereits läuft

    • HalleMike
    • 21. Mai 2012 um 20:12

    Hallo BugFix, Dank für die prompte Antwort un die Korrektur meines Eintrags hier. Sorry - Anfängerfehler!
    Nun zu Deiner Anwort: Wie kann ich IE-Instanzen abfragen? Denn: Wenn ich die IE-Instanz identifizieren könnte, könnte ich mich doch auch in meinem Script auf die vom Script eröffnete IE-Instanz beziehen und eine "Bremse" einbauen, die solange aktiv ist, wie die vom Script eröffnete IE-Instanz existiert. Ich weiß bloß nicht, wie ich diese eindeutige Instanz-ID auslesen und weiterverwenden kann.
    Vielleicht bin ich doch noch zu sehr Anfänger unter all euch Profis .... hoffe dennoch auf Hilfe.

    MfG., HalleMike

  • Script funktioniert nicht, wenn noch eine IE-Instanz bereits läuft

    • HalleMike
    • 21. Mai 2012 um 17:55

    Hallo, ich habe mir zur Vereinfachung und aus Sicherheitsgründen ein Script zur Durchführung Internetbanking geschrieben.
    - eine auf Floppy gespeicherte zugangs.txt mit den Zugangsdaten wird mit Editor aufgerufen
    - IE mit Bank-Loggin wird aufgerufen (RunWait())
    - Zugangsdaten werden durch copy & paste aus der txt-Datei in IE-Loggin manuell übernommen
    - Nach Abschluss I-Banking wird nach manuellem Beenden des IE automatisch der Editor geschlossen, zum Entfernen der FloppyDisc aufgefordert, der 'Ccleaner' gestartet und danach das Script beendet.

    Funktioniert auch alles bestens, wenn nicht bereits eine IE-Instanz läuft. Dann ist der Befehl RunWait() wirkungslos. Das Script "saust" durch, schließt den Editor wieder - ehe ich copy & paste überhaupt ansatzweise durchführen kann ?( .
    Wo liegt das Problem, habe keine Ahnung, wo ich ansetzen soll. AutoIt ist auch sehr neu für mich. Bitte um Hilfe.

    Hier der Code:

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    AutoItSetOption("MustDeclareVars", 1)
    call(doSparkasse())
    ;
    Func doSparkasse()
    Local $runAppl1, $runAppl2, $runAppl3, $dlgName, $dlgText, $dlg, $lwFloppy
    ;
    $dlgName = "Bankaufruf"
    $dlgText = "!! ACHTUNG !! ---- !! ACHTUNG !! ---- !! ACHTUNG !!" & chr(13) & _
    "================================" & chr(13) & chr(13) & _
    "1. Floppy " & chr(34) & "Bank-Security" & chr(34) & " eingelegt ?" & chr(13) & chr(13) & _
    "2. Bevor Sie mit " & chr(34) & "OK" & chr(34) & " fortsetzen, bitte alle momentan geöffneten " & chr(13) & _
    " Browser- und/oder Notepad-Instanzen schließen." & chr(13) & chr(13)
    $dlg = MsgBox(33, $dlgName, $dlgText)
    If $dlg = 1 then
    $lwFloppy = "A:\"
    If DriveStatus($lwFloppy) = "READY" Then
    $runAppl1 = "C:\windows\system32\notepad.exe A:\Zugang.txt"
    $runAppl2 = chr(34) & "C:\Programme\Internet Explorer\iexplore.exe " & chr(34) & _
    chr(34) & "https://banking.sparkasse-msh.de/cgi/anfang.cgi" & chr(34)
    $runAppl3 = "E:\Win-Prog\CCleaner\CCleaner.exe /Auto"
    Run($runAppl1, "A:\", @SW_RESTORE)
    RunWait($runAppl2, "", @SW_MAXIMIZE)
    $dlg = WinActivate("Zugang.txt - Editor", "")
    $dlg = WinClose("Zugang.txt - Editor", "")
    while DriveStatus($lwFloppy) = "READY"
    $dlgText = "Nicht vergessen:" & chr(13) & "FLOPPY RAUSNEHMEN !!"
    $dlg = MsgBox(65, $dlgName, $dlgText)
    If $dlg = 2 Then
    $runAppl1 = ""
    $runAppl2 = ""
    $runAppl3 = ""
    $dlg = ""
    $dlgName = ""
    $dlgText = ""
    $lwFloppy = ""
    Exit
    EndIf
    WEnd
    If $dlg = 1 Then Run($runAppl3, "", @SW_HIDE)
    ElseIf DriveStatus($lwFloppy) = "NOTREADY" Then
    $dlgText = "Floppy " & chr(34) & "Bank-Security" & chr(34) & " ist nicht eingelegt!" & chr(13) & _
    "Soll der Vorgang wiederholt werden?"
    $dlg = MsgBox(52, $dlgName, $dlgText)
    If $dlg = 6 then call(doSparkasse())
    EndIf
    EndIf
    ;
    $runAppl1 = ""
    $runAppl2 = ""
    $runAppl3 = ""
    $dlg = ""
    $dlgName = ""
    $dlgText = ""
    $lwFloppy = ""
    ;
    EndFunc

    [/autoit]

    Warte auf einen Vorschlag, vielen Dank,

    HalleMike

    Edit BugFix: Bitte immer Code-Tags verwenden, habs mal für dich gemacht.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™