Hm, irgendwie bringe ich das ganze nicht zum laufen
Habe meinen Code wie folgt abgeändert:
Delphi-Quellcode:
procedure TForm1.WMHotKey(var Msg : TWMHotKey);
var
attach, attachTo: Cardinal;
begin
Case Msg.HotKey of
FOCUSEDWND_HOTKEY: begin
attach := GetWindowThreadProcessID(GetForegroundWindow, nil);
attachTo := GetCurrentThreadId;
AttachThreadInput(attach, attachTo, True);
hFocusedWnd := GetFocus;
SetWindowText(hFocusedWnd, PChar('Test'));
AttachThreadInput(attach, attachTo, False);
end;
end;
end;
Problem: Wenn das Fenster, das den Eigabefokus hat, nicht von dem Thread erzeugt wurde, der die GetFocus ausführt, ist der Rückgabewert dieser Funktion 0. Ich habe gahofft (bzw. Idee von teebee), dass durch das "verbinden" der beiden beteiligten Threads GetFocus funktioniert und somit das richtige Fensterhandle zurückgegeben wird. Leider ist der Rückgabewert immer noch 0
Vielleicht hät jemand noch eine idee, wie man das umgehen könnte!?
Grüsse und vielen Dank... Dominic