Guten Tag,
ich bin neu im Forum, ein Grüß Gott an alle.
Ich realisiere das eine oder andere Projekt - ohne für mich in Anspruch zu nehmen "Programierer zu sein". Nun stehe ich vor einem Problem das ich wahrscheinlich nur nicht verstehe.
Ich habe ein kleines Autoit Programm geschrieben, das eigentlich zu meiner Zufriedenheit funktioniert und auch wieder nicht.
Autoit ruft eine Software im DOS Fenster auf (alte Software die im DOS Fenster läuft) danach werden Tastaturcodes an das Programm gesendet, das Programm führt diese aus -- das geht alles.
Nun läuft dieses Autoit Programm auf einem Rechner - zeitgesteuert, dessen Bildschirm aus ist. Rechner läuft 24 Stunden am Tag, eine Art Service Rechner im Netz (XP SP3). Immer wenn ich den Bildschirm an habe, egal ob körperlich oder per Windows Remote auf den Rechner zugreife, läuft das Autoit Programm. Remote (damit auch Bildschirm) aus dann habe ich den Eindruck nichts geht mehr. Autoit arbeitet nicht mehr. Kontrolieren kann ich es nur in sofern, als das Programm eben nicht abgearbeitet wird, solage kein Monitor an, bzw keine Remote Zugriff auf Rechner. Sofern man dem Ganzen zusieht - läuft prima.
Mein Verdacht: Bildschirmeingaben nur wenn auch Bildschirm an?
hier ein Code Schnipsel, das sind die "Eingaben"
if WinExists ( $pfad_programm, "" ) Then ; prüfen ob geladen, durch fensterabfrage, dann fenster in den vordergrund holen.
_WinWaitActivate($pfad_programm,"")
$FensterTitle = WinGetTitle("") ; hier einlesen Fenstertitel um den für den späteren abgleich zu haben
EndIf
;Sleep (100)
;Send("{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}")
Sleep (200)
Send("{ENTER}") ; für bestätigen sachbearbeiter
Sleep (500)
Send("asdfg123") ; bei eingabe maximaler datenlänge entfällt das ernter pasw = maximal
Sleep (4000) ; hier längere Pause, Prog läd einstellungen
if WinExists ( $pfad_programm, "" ) Then ; prüfen ob Wawi geladen, durch fensterabfrage, dann fenster in den vordergrund holen.
_WinWaitActivate($pfad_programm,"")
EndIf
Send ("g") ; wechseln zur Eingabeseite für Neuberechnung
Sleep (500)
Send ("g")
Sleep (500)
Wenn diese Beschreibung "ungehobelt klingt" --> Nachsicht. Source kann natürlich gepostet werden.
Danke
Peter