Hm, irgendwie funktioniert das ja doch:
Delphi-Quellcode:
procedure TForm1.WMHotKey(var Msg : TWMHotKey);
var
attach, attachTo: Cardinal;
value: String;
begin
Case Msg.HotKey of
FOCUSEDWND_HOTKEY: begin
attach := GetWindowThreadProcessId(GetForegroundWindow, nil);
attachTo := GetCurrentThreadId;
if AttachThreadInput(attach, attachTo, True) then begin
hFocusedWnd := GetFocus;
AttachThreadInput(attach, attachTo, False);
end else begin
hFocusedWnd := GetFocus;
end;
value := 'Test';
SendMessage(hFocusedWnd, WM_SETTEXT, 0, Integer(@value[1]));
end;
end;
end;
SetWindowText funktioniert nicht bei Fenstern, die nicht vom selben Thread erzeugt wurden! Ich habe einfach angenommen, dass das problem immer noch beim
Handle liegt! Mein fehler
Vielen Dank für eure Hilfe!
Dominic