Entwickler-Ecke

Windows API - Systemweit Tasten umdefinieren mit D10


HotDog - So 24.10.10 20:30
Titel: Systemweit Tasten umdefinieren mit D10
Hi all,

Kurz:
Status "Rollen" abfragen, Systemweit Tasten mitlesen und bei unten stehenden Bedingungen umcodieren.

Ausführlicher:
Ich möchte eine PDF-Präsentation, die mit Adobe Reader präsentiert wird, mit einem handelsüblichen Präsenter steuern. Die erste Folie ist schwarz, um einen "Blank-Screen" mit dem Presenter darstellen zu können.

Präsenter sind auf PowerPoint eingerichtet. Es gibt eine Taste für "b" und ".", die einen "Blank-Screen" ein-/ausschaltet.

Um das Gleiche bei der PDF-Präsendation mit dem Reader zu erreichen, muss ich zunächst "Pos1" den "Blank-Screen" einschalten und mit "ALT-PFEILLINKS" zur vorhergehenden Folie zurück springen.

Nun eine kleine Anwendung, die z.B.

- aus "." ein "Pos1" macht
- aus doppelt "." ein "ALT+PFEILLINKS",
- aus "F5/ESC" ein "STRG+L"

das ganze aber nur, wenn dieser Swap mit "Rollen" auch eingeschaltet ist.

Ich habe einiges über Hooks gefunden. Das Material ist allerdings mehr als 7 Jahre alt.

Gibt es mit D10 evtl. etwas einfachere Möglichkeiten, dies zu realisieren? Oder wenigstens die "aktuellste" Variante einer solchen Implementierung?

Gruß
HotDog


bummi - So 24.10.10 20:42

Such mal unter Keyboard und HOOK, AFAIK bekommt man das aber unter Vista aufwärts nicht mehr ohne weiteres zu laufen.


jaenicke - So 24.10.10 21:01

Doch, Keyboard Hooks funktionieren schon auch unter Vista und 7.
Das geht mit SetWindowsHookEx (mit WH_KEYBOARD_LL als Typ):
http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx

Und in der Hookprozedur sollte dann mit keybd_event oder ähnlichem die Simulation der gewünschten Tasten möglich sein.


bummi - So 24.10.10 21:11

@jaenicke

Merci, hab's mir rausgeschrieben, irgendwann brauch ichs wieder...