Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi SendMessage an Programm im Tray (https://www.delphipraxis.net/40713-sendmessage-programm-im-tray.html)

SeGaSoft 19. Feb 2005 19:49


SendMessage an Programm im Tray
 
Hallo zusammen,

habe folgendes Problem mit der Funktion SendMessage:

Experimentier grade mit Tastaturhooks in einer dll.
- Keine Bange, ich will keinen Tastatur-Logger oder so was machen, sondern nur den Status der NUM-Taste im Tray anzeigen!
(Ich weiß, sowas gibts auch schon, will's aber halt mal selbst umsetzen. :-) )

Klappt auch soweit alles mit der dll, allerdings reagiert die Applikation nur auf die Message von der dll, wenn das Fenster der Anwendung maximiert/sichtbar ist. Wenn nur das Tray-Icon zu sehen ist, kommt die Message nicht an.

Ich sende die Nachricht an das Handle des Formulars der Applikation, das ich vorher an die dll übergeben hab. Hab's auch schon mit dem Application.Handle versucht, aber ohne Erfolg :-( !

Kann mir jemand noch einen Tipp geben?

Danke und Gruß
Sega

Sprint 21. Feb 2005 02:16

Re: SendMessage an Programm im Tray
 
Zitat:

Zitat von SeGaSoft
Klappt auch soweit alles mit der dll, allerdings reagiert die Applikation nur auf die Message von der dll, wenn das Fenster der Anwendung maximiert/sichtbar ist. Wenn nur das Tray-Icon zu sehen ist, kommt die Message nicht an.

Benutzt du SetWindowsHookEx? Kann es sein, das deine DLL nur lokal in deinem Programm läuft und du keinen systemweiten Hook gesetzt hast?

SeGaSoft 21. Feb 2005 05:44

Re: SendMessage an Programm im Tray
 
Stimmt, das war genau der richtige Denkanstoss!
Mein Funktionsaufruf sah bisher so aus:

Delphi-Quellcode:
HookHandle := SetWindowsHookEx(WH_KEYBOARD, MyKeyProc, HInstance, 0);
Hab noch etwas genauer zur SetWindowsHookEx-Funktion gegooglet, und bin auf folgendes Tutorial gestossen, was offensichtlich sehr gut auf lokale und globale Hooks eingeht.

http://www.luckie-online.de/Delphi/I...k_tutorial.pdf

Was ich bisher auf die Schnelle gesehen hab, ist meine Deklaration nur für lokale Hooks geeignet.
Werd mich da nochmal in Ruhe durchwühlen, hoffe ich krieg was raus!

Gruß
Sega

Sharky 21. Feb 2005 07:32

Re: SendMessage an Programm im Tray
 
Zitat:

Zitat von SeGaSoft
.... und bin auf folgendes Tutorial gestossen,...

Hai Sega,

und Notfall ist der Ersteller des Tutorials ja Mitglied der Delphi-PRAXIS ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz