Hallo Stefan,
schön, dass Du da bist!
Es geht um die Scripte "warten" und "fertig". "Warten" soll die Klicksperre einschalten, "fertig" beenden.
Vielleicht setze ich hier zunächst mal die alten Scripte rein, die nach meiner Erinnerung 100%ig funktioniert haben.
Der Aufruf erfolgte in der Regel über die Hilfs-exe Warten.exe und Fertig.exe:
RunWait ("\My Flash Disk\Sokobana\MortScript\warten.exe")
PS: Den Aufruf hatte ich hier zunächst falsch reinkopiert, sorry
Warten:
If ( RegValueExists ("HKCU", "Software\Koord\Server", "KoordServ"))
Run ("\My Flash Disk\Sokobana\Koord2\koord465.exe", "Window=0 KoordServ=1 RORegKeys=0")
Endif
Run ("\My Flash Disk\Sokobana\Koord2\koord465.exe", "Window=0 KoordServ=1 wndrefresh=-1 t=1 rb=0 gb=0 bb=0 ServWnd=text,0,0,-1,-1,5060,255,0,0,-1,-1{bitte warten...}\text,450,0,30,30,-5030,255,255,0,-1,0{x}|")
Fertig:
If ( RegValueExists ("HKCU", "Software\Koord\Server", "KoordServ"))
Run ("\My Flash Disk\Sokobana\Koord2\koord465.exe", "Window=0 KoordServ=1 RORegKeys=0")
Endif
Run ("\My Flash Disk\Sokobana\Koord2\koord465.exe", "Window=0 SendKey=\fPrototype\m0x0010")
Nach Umstellung auf Aufruf ohne Hilfs-exe (MortScript wird außerdem nach jedem HR automatisch registriert) und Nutzung eines ClassNames, gibt es nun hin und wieder, anscheinend insbesondere beim ersten Aufruf z.B. nach Neustart von Gopal den Effekt, dass "Warten" zwar anspringt, aber nicht beendet wird.
Die Scripte sehen nach einigem Rumprobieren nun folgendermaßen aus:
Aufruf z.B.:
# --- Bitte warten nur ausführen, wenn genug Speicher frei ist ------
Speicher=FreeMemory()
If (Speicher > 5000)
Run ("\My Flash Disk\Sokobana\MortScript\warten.mscr")
Sleep ( 500 )
EndIf
Warten:
If ( RegValueExists ("HKCU", "Software\Koord\Server_Warten", "KoordServ"))
Run ("\My Flash Disk\Sokobana\koord2\koord465.exe", "Window=0 KoordServ=1 ClassName=Warten| RORegKeys=0")
EndIf
#Sleep ( 2000 )
Run ("\My Flash Disk\Sokobana\koord2\koord465.exe", "Window=0 KoordServ=1 ClassName=Warten| wndrefresh=-1 t=1 rb=0 gb=0 bb=0 ServWnd=text,0,0,-1,-1,5060,255,0,0,-1,-1{bitte warten...}\text,450,0,30,30,-5030,255,255,0,-1,0{x}|")
Fertig:
If ( RegValueExists ("HKCU", "Software\Koord\Server_Warten", "KoordServ"))
Run ("\My Flash Disk\Sokobana\koord2\koord465.exe", "Window=0 ClassName=Warten| KoordServ=1 RORegKeys=0")
EndIf
Run ("\My Flash Disk\Sokobana\koord2\koord465.exe", "Window=0 SendKey=\fPrototype\m0x0010")
Falls oben alles ok ist:
Liegt es vielleicht einfach nur an der zusätzlichen Bedingung beim Aufruf? Eher nicht, oder?
Noch eine Verständnisfrage:
Beim Beenden benutze ich ja "SendKey=\fPrototype\m0x0010". Aber was bedeutet das nochmal genau?
Und kann man die ganze Geschichte mit der Klicksperre auch einfacher gestalten?
Gruß sokobana