Autor Beitrag
Olex
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 19.12.07 11:25 
Hi ihr kennt doch alle diese tastaturen mit den zusätzlichen tasten
z.B. Play Stop usw um zB den media player zu steuern.

Gibt es denn eine möglichkeit das zu similieren durch ein Delphi Prog?

gruß Olex
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 480

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 19.12.07 12:13 
Sende an das Fenster eine WM_APPCOMMAND Message. Im lParam kannst du den Typ der Taste angeben. Dabei sind z.B. folgende Konstanten definiert:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
APPCOMMAND_MEDIA_NEXTTRACK      = $0B000;
APPCOMMAND_MEDIA_PREVIOUSTRACK  = $0C000;
APPCOMMAND_MEDIA_STOP           = $0D000;
APPCOMMAND_MEDIA_PLAY_PAUSE     = $0E000;

_________________
We are, we were and will not be.
Olex Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mi 19.12.07 12:55 
muss ich mit xspy erst das fenster suchen und dann die message?

wenn ja dann muss ich ja das für alle player machen die es gibt, damit alle unstertützt werden oder?


Zuletzt bearbeitet von Olex am Mi 19.12.07 14:57, insgesamt 1-mal bearbeitet
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 480

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 19.12.07 14:35 
Du könntest auch mit HWND_BROADCAST die Message einfach an alle Fenster senden. Ob das unbedingt Sinn macht, weiß ich nicht.

Eine 100%ige Simulation der Tasten wird man mit Delphi kaum hinkriegen, dafür müsste man wohl auf Treiberebene runter. Ein Grund dafür sind die Programme, die bei diesen Dingern teilweise mit installiert werden (z.B. iTouch bei Logitech). Bei mir bewirkt ein Druck auf die Play/Pause Taste z.B., dass ein Medienplayer, der grade läuft auf Play/Pause geht. Wenn kein Player läuft, wird der Standard-Player gestartet. Dieses Verhalten bekommt man mit den Messages alleine nicht hin. D.h. wenn dein Programm diese Messages im System verschickt, bekommt das Treiberprogramm oder was das auch immer ist nichts davon mit.
Der Windows-Media-Player spielt irgendwie auch noch ne Sonderrolle, aber da blicke ich nicht ganz durch.

_________________
We are, we were and will not be.