Meine Applikation muss Windows Messages einer anderen Anwendung empfangen. Nach Recherche habe ich das so realisiert:
Als erstes habe ich in meiner MainForm eine private Methode implementiert:
Delphi-Quellcode:
function TMainFormWCM.AppHookFunc (var Message : TMessage) : Boolean;
begin
if Message.Msg = WM_MEINE_MSG then
begin
case Message.WParam of
…
…
end;
end;
Dann habe ich unter FormCreate die Funktion gehookt:
Application.HookMainWindow(AppHookFunc);
Funktioniert soweit alles super.
Nun möchte ich das Empfangen und Abarbeiten der Messages in einen separaten Thread (mit TThread) auslagern. Wie kann ich eine Methode dort denn entsprechend hooken?
Noch eine Zusatzfrage: Es ist doch so, dass nur der Code in Execute Methode in einem separatem Thread ausgeführt wird, oder? Fügt mal weitere (public-)Methoden zu dem Tthread Objekt hinzu, so werden diese in dem Thread ausgeführt von dem sie aufgerufen worden sind. Hab ich das richtig verstanden?
Vielen Dank