Code: Select all
#IfWinActive, ahk_class TCmpForm
Ohne die Zeile ging's besser.

Ist schon dämlich, dass AHK verschiedene Windows-Versionen so unterschiedlich behandelt (und dann unter Windows 98 noch nicht einmal eine Fehlermeldung ausgibt, wenn ein Script Befehle enthält, die nicht unterstützt werden!).
Das folgende läuft anscheinend korrekt unter Windoes 98:
[edit]Ich lass das mal so stehen, weil man schön sehen kann wie umständlich es ist, den Code auf diese Art umzuschreiben.

Code: Select all
LaunchEditor()
{
SendInput, {Blind}{F3}
WinWaitActive, ahk_class TLister, , 1
If Errorlevel
Return
WinGetTitle, title
left := InStr(title, "[") + 1
right := InStr(title, "]") - left
StringMid, Filename, title, left, right
WinClose, ahk_class TLister
Run, <Path>\ChoiceEditor.exe "%Filename%"
}
$F4:: ; F4
IfWinActive, ahk_class TCmpForm
{
LaunchEditor()
Return
}
Send {F4}
Return
$+F4:: ; Shift-F4
IfWinActive, ahk_class TCmpForm
{
LaunchEditor()
Return
}
Send +{F4}
Return
$^F4:: ; Ctrl-F4
IfWinActive, ahk_class TCmpForm
{
SendInput, ^{F3}
WinWaitActive, ahk_class #32770, , 1
If not Errorlevel
{
WinClose
WinClose, ahk_class TFileCompForm
Return
}
WinWaitActive, ahk_class TFileCompForm
ControlGetText, FileLeft, TEdit1
ControlGetText, FileRight, TEdit2
WinClose, ahk_class TFileCompForm
Run, <Path>\ChoiceEditor.exe "%FileLeft%" "%FileRight%"
Return
}
Send ^{F4}
Return
Nochmal danke für deine viele Arbeit.
Gruß, Jürgen