Es funktioniert nicht auf allen PCs...

  • Hallo Ihr - vielleicht kann ja wer helfen:

    Ich hab ein längeres Script erstellt, welche eine Intranet-Anwendung bei uns in der firma fernsteuert.
    Es funktioniert auch auf jedem PC - aber auf dem einem eines Benutzer nicht.
    Es isnd alle PCs grundsätzlich identisch eingerichtet, man kann aber teilweise selbst noch ein paar spezielle Anwendungen draufspielen als Entwickler.

    Und irgendwie muss es ja was damit zu tun haben, weil sonst würde es bei ihm nicht gehen.

    Das Skript beginnt folgendermaßen:

    un("C:\Programme\Internet Explorer\IEXPLORE.EXE http://###.de/action/forward.do?forward=http%3A%2F%2F###IP###%2Fcaisd%2Fpdmweb.exe&entryid=367&lm=0")
    WinWaitActive("###IntranetApp-Name### - Login - Microsoft Internet Explorer")
    MouseMove(600, 600)
    Sleep ( 3000 )
    Send($CmdLine[1])
    Sleep ( 200 )
    Send("{TAB}")
    Send($CmdLine[2])
    Sleep ( 200 )
    Send("{TAB}")
    Send("{ENTER}")
    ...


    Ich hab mit ### ein paar IPs usw. unkenntlich gemacht - also das ist nicht der Fehler.
    Bei diesem einem PC wird der IE aufgerufen... aber dann passiert nichts mehr - also bereits der MouseMove ist nicht erkennbar.
    ebenso wie die Eingabe der Wörter der Übergabeparameter...

    Also läuft das Skript an, aber akzeptiert anscheinend nur das ausführen, aber eben nichts mit Maus- oder Tastatur-Eingaben.
    (Der Aufruf erfolgt normalerweise über eine C++-Applikation, aber auch die bloße Exe des autoIt-Skripts funktioniert auf dem Rechner nicht).

    an was kann das liegen? Gibt es irgendwelche Prozesse oder Applikationen, wo ich mal nachsehen könnte, ob die da reinspucken?

    Wäre dankbar für jeden Tipp

    Danke schon mal im Voraus
    PiVi

  • Danke schon mal... schubste mich mal auf die richtige Page... weil ich find nichts zu "IE.au3"

    Wobei ich noch eines anmerken muss: Ich brauchs nicht im Hintergrund und Nutzereingriffe sperr ich nicht (wer solange die Finger auf der Maus hat ist selber schuld - hat schon seinen Grund im Kontext, ist hier aber irrelevant), der soll einfach nur auf dem PC das machen, was er auf den anderen auch macht :)

    Deshalb - falls da noch so ein ähnliches Problem mal war oder es irgendwo steht, welche Prozesse ich mal checken könnte, wäre ich für einen dementsprechenden Schubs auch dankbar :)

  • Danke schon mal... schubste mich mal auf die richtige Page... weil ich find nichts zu "IE.au3"

    Wobei ich noch eines anmerken muss: Ich brauchs nicht im Hintergrund und Nutzereingriffe sperr ich nicht (wer solange die Finger auf der Maus hat ist selber schuld - hat schon seinen Grund im Kontext, ist hier aber irrelevant), der soll einfach nur auf dem PC das machen, was er auf den anderen auch macht :)

    Deshalb - falls da noch so ein ähnliches Problem mal war oder es irgendwo steht, welche Prozesse ich mal checken könnte, wäre ich für einen dementsprechenden Schubs auch dankbar :)

    im normal fall dort in das ie.au3 mal reinlessen mit dem editor
    C:\Programme\AutoIt3\Include

    oder aber im englishen Autoit.chm dort in "User Defined Function Reference" kuken

    have fun :rock:

  • Moin,

    ich glaube kaum das es ein AutoIT Problem ist. Du hast geschrieben, das die PC`s nahezu identisch installiert sind, daher gehe ich mal davon aus das der liebe User was installiert hat, was das Skript stört (könnte ich gewesen sein, man kennt ja Entwickler und ihren Hang zu "nützlichen" Tools :rolleyes: )

    Man kann jetzt eigentlich verschieden vorgehen:
    1. Möglichkeit
    Mal als anderer User an dem PC anmelden, damit man mit einen leeren Profil arbeitet und alle evtl. vom User automatisch gestarteten Programme nicht laufen. Läuft das Script, war es der User mit irgend einem Programm.

    2. Möglichkeit
    Man könnte es über ControlClick und ControlSend machen, hab da mal nen kleines Testscript gebastelt:

    Spoiler anzeigen
    [autoit]

    ;Include
    #include <winapi.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;Optionen
    Opt("WinTitleMatchMode", 2)
    Opt("SendKeyDelay", 100)

    [/autoit] [autoit][/autoit] [autoit]

    ;Testdatei erstellen
    Dim $fso = FileOpen(@ScriptDir & "\test.html",2)
    FileWriteLine($fso,"<html><head><title></title></head><body><form name='test' id='testid' title='testtitel' method='get' target='_self'><input type='text' name='txt' tabindex='1'><br><input type='text' name='txt2' tabindex='2'><br><button type='submit' id='cmdsubmit' name='buttonsubmit' tabindex='3'>Dr&uuml;ck mich...</button></form></body></html>")
    FileClose($fso)

    [/autoit] [autoit][/autoit] [autoit]

    ;IE starten mit Testdatei
    $ie = Run("C:\Programme\Internet Explorer\IEXPLORE.EXE " & @ScriptDir & "\test.html")

    [/autoit] [autoit][/autoit] [autoit]

    ;Auf IE warten....
    WinWaitActive("test.html")
    Sleep(2000)

    [/autoit] [autoit][/autoit] [autoit]

    ;Klick und Text setzen.....
    ControlClick("test.html","","")
    ControlSend("test.html","","","{tab 1}")
    ControlSend("test.html","","","Hallo")
    ControlSend("test.html","","","{tab 1}")
    ControlSend("test.html","","","klappt....")
    ControlSend("test.html","","","{tab 1}")
    ControlSend("test.html","","","{Enter}")

    [/autoit] [autoit][/autoit] [autoit]

    ; 5 Sekunden warten und dann den IE schliessen
    Sleep(5000)
    If ProcessExists($ie) Then ProcessClose($ie,1)
    ;Warte bis IE geschlossen wird
    ProcessWaitClose($ie)
    ;Testdatei löschen
    FileDelete(@ScriptDir & "\test.html")

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • Oder
    Opt("WinTitleMatchMode", 2) = Substring Übereinstimmung
    WinWaitActive("###IntranetApp-Name### - Login")

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)