Einzelnen Beitrag anzeigen

bayo

Registriert seit: 19. Aug 2003
Ort: ch
15 Beiträge
 
Delphi 5 Enterprise
 
#9

Re: Handle des Fensters, das den Fokus hat!

  Alt 19. Aug 2003, 15:43
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
  Mit Zitat antworten Zitat