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 Rechter Mouse Button als Hotkey ? (https://www.delphipraxis.net/43178-rechter-mouse-button-als-hotkey.html)

Thebe 30. Mär 2005 10:33


Rechter Mouse Button als Hotkey ?
 
Moin moin

Ich versuche gerade mit RegisterHotkey nen Hotkey zu setzen um damit STRG + Rechter Mausknopf abzufangen. Prob ist: Er will nicht. Code is alles i.O. ich habs mal mit F1 statt RMouse probiert und da funktionierts, nur beim rechten Mausknopf weigert sich Windoof mir nen Hotkey zu geben, allerdings gibts auch keine Fehlermeldung von RegisterHotkey das der Hotkey nicht reserviert werden konnte. Nu stellt sich die Frage, wie krieg ich das hin OHNE nen Maushook zu verwenden ?

Hier mal mein Code:
Delphi-Quellcode:
HotKeyID := GlobalAddAtom(pchar('MausHotkey'));
RegisterHotkey(Handle, HotKeyID, MOD_CONTROL, VK_RBUTTON)
Schon mal vielen Dank im Vorraus, ich bin hier momentan am verzweifeln.

- Thebe

Lesco 30. Mär 2005 10:51

Re: Rechter Mouse Button als Hotkey ?
 
hat vllt schon vor deinem prog nen anderer process nen hotkey mit rbutton registriert?

Thebe 30. Mär 2005 14:55

Re: Rechter Mouse Button als Hotkey ?
 
Aus der Windows SDK Hilfe:

Zitat:

RegisterHotKey fails if the keystrokes specified for the hot key have already been registered by another hot key.
Sprich wenn dem so wäre, dann würde ich ne Fehlermeldung kriegen, krieg ich allerdings nicht.

Mephistopheles 30. Mär 2005 23:29

Re: Rechter Mouse Button als Hotkey ?
 
Du bekommst keine Fehlermeldung, sondern einfach Null zurück. Auswerten kannst du den Fehler nur mit GetLastError().

Christian Seehase 31. Mär 2005 18:54

Re: Rechter Mouse Button als Hotkey ?
 
Moin Mephisto,

ich hab' dass auch mal ausprobiert.
GlobalAddAtom: OK
RegisterHotKey: OK
Dennoch wird die WMHOTKEY-Prozedur nicht aufgerufen.

Es funktioniert übrigens mit allen Mousebutton nicht (L,M,R,X1,X2).

Eventuell liegt dies ja auch an der VCL :gruebel:

SirThornberry 31. Mär 2005 19:24

Re: Rechter Mouse Button als Hotkey ?
 
ist VK_RBUTTON nicht die Pfeil-Rechts-taste? Registerhotkey ist denk ich mal nur für Tastatur-Short-Cuts funktionell..

3_of_8 31. Mär 2005 20:52

Re: Rechter Mouse Button als Hotkey ?
 
Nein, rechte Cursortaste is VK_RIGHT.

Probiers mal mit FormMouseDown if (key=mb_right)and(ssctrl in [shift]) then //tue irgendwas.

Ungetestet, nur eine kleine Anregung.

Christian Seehase 31. Mär 2005 20:57

Re: Rechter Mouse Button als Hotkey ?
 
Moin Manuel,

das funktioniert, aber bei RegisterHotkey muss Deine Anwendung nicht den Fokus haben um bei Betätigung der Tastenkombination aufgerufen zu werden.

@Sir Thornberry:
Zitat:

Zitat von Sir Thornberry
Registerhotkey ist denk ich mal nur für Tastatur-Short-Cuts funktionell..

das hätte ich auch vermutet, wenn RegisterHotkey bei Angabe einer Maustaste einen Fehler gemeldet hätte, da das aber problemlos funktioniert...

3_of_8 31. Mär 2005 21:03

Re: Rechter Mouse Button als Hotkey ?
 
Wusste ich gar nicht, aber wie gesagt, ich bin neu und Hotkeys definiere ich immer zur Entwicklungszeit.

Ansonsten würde ich wirlich einen Mousehook empfehlen...


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

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