Seit 5 Jahren nutze ich ein kleines Script, welches , obwohl in fürchterlichem Code geschrieben, seine Funktion gut erfüllt hat. Sinn und Zweck ist, eine Patienten-ID aus einer Exportdatei eines Programmes A zu extrahieren und einem Programm B zur Verfügung zu stellen.
Nach dem Wechsel von 32-Bit auf 64 Bit eines Rechners mit Win7 ultimate klappt es nicht mehr, konkret funktioniert der Befehl Send nicht mehr, sowohl die Kombination Send/sendinput/ {F4}, als auch Send %PID% bleibt an diesem Rechner ohne Effekt, an 14 anderen Clients klappt alles weiterhin (Win 10).
Mit den ganzen Msgbox-Zeilen habe ich versucht, es einzugrenzen, stehe aber auf dem Schlauch. Hat es ggfls etwas mit W7-ultimate (64 Bit) zu tun?
Code: Select all
SetWorkingDir %A_ScriptDir%
;msgbox, ich bin da
SetTitleMatchMode 1 ; der Titel des Fensters muss mit dem gesuchten Fenster am ANFANG übereinstimmen
; ############ nun wird die Export.GDT von Terminiko annalysoert und die Pat-ID (PID) extrahiert ###############
PID:=
msgbox ,,, %PID%,2
Loop, 7
{
FileReadLine, line, C:\Terminplanung\EDV1PA1.GDT, %A_Index%
Nummer%A_index%=%line%
;if ErrorLevel
;{
; Msgbox %Errorlevel%
; break
; }
;MsgBox, 4, , Line #%A_Index% is "%line%". Continue?
; IfMsgBox, No
; return
}
;PID = %Nummer7%
StringTrimLeft, PID, Nummer7, 7 ; ########### hier wird die PID des von Terminiko übergebenen Pat extrahiert #########
msgbox ,,, %PID%,2
; MsgBox, %PID%
IfWinNotExist, Medical
{
Msgbox, "Ohne Medical Office kann KEIN Patient aus der Terminplanung übergeben werden. Ende"
PID:=
Exit
}
;Return
; msgbox, ich bin da xxx
IfWinExist, Medical
msgbox,,, MO Zentrale offen,2
IfWinExist, MEDICAL OFFICE Login
msgbox, Bitte einloggen, dann geht es weiter!
{
WinActivate,MEDICAL OFFICE Login
WinWait, Medical Office - Zentrale
}
;Msgbox, Ich warte auf das Schließen des Login
WinActivate, Medical Office - Zentrale ; zuletzt gefundenes Fenster verwenden
{
sleep 200
;msgbox ,,, "Jetzt sollte das MO-zentralefenster geöffnet sein und mittels F4 in die Patientauswahl gewechselt werden",5
sleep 200
WinWaitActive, Medical Office - Zentrale
msgbox,,,"Zentrale aktiv - sende nun F4" ,2
Send {F4}
msgbox,,, Nun sollte das Patientenauswahlfenster kommen, 2
WinWaitActive, Patient auswählen
{
msgbox,,,%PID%,2
send %PID%
send {Enter}
send {Enter}
}
}
return
Edit: an besagtem Rechner gelingt mir auch nicht, die AHK-Datei aus Scite heraus zu starten, die Fehlermeldung hierzu lautet:
>"C:\Praxis\SciTE\..\AutoHotkey.exe" /ErrorStdOut "M:\Tools\AutoHotkey\Scripts\MO2Term2.ahk"
Die Syntax fr den Dateinamen, Verzeichnisnamen oder die Datentr„gerbezeichnung ist falsch.
>Exit code: 1 Time: 0.2718
Hilft das evtl. weiter?
LG, Joska