Systemweit gültige Taste
-
Hi,
hat hier jemand eine Idee, wie ich in meiner Anwendung abfangen kann,
ob z.B. die Taste F12 gedrückt wurde.Ich will das dummerweise aber auch dann wissen, wenn mein Fenster
gerade mal nicht den Fokus besitzt.Danke
Marc
-
Entweder mit RegisterHotKey oder einem Keyboard-Hook (SetWindowsHook[Ex]).
Näheres in der MSDN
-
Hat mir RegisterHotKey einwandfrei geklappt.
Danke!
-
kannste mal deinen code posten bitte?
-
Er bringt keine Fehler aber wie kann ich jetzt eine Funktion aufrufen wenn der User den Hotkey betätigt?
m_bHot = RegisterHotKey(NULL,GlobalAddAtom("A"),NULL,'A');
schnell helfen bitte!
-
Es gibt eine WM_HOTKEY Message.
LRESULT CYourDlg::HotKey(WPARAM wp, LPARAM lp) { if( wp == m_bHot ) AfxMessageBox("Hotkey gedrückt"); //oder ähnliches :) }
Hoffe das hilft Dir weiter...
MfG veganza
-
Ich hab's so gemacht, wie veganza das beschrieben hat. Wenn Du willst kann ich Dir morgen ein Beispielprojekt mailen.
-
ahja dankeschön so versuch ich es erstmal! Also wird die variable beim betätigen des hotkeys auf TRUE gesetzt ja?
-
stimmt so nicht ganz, was ich gestern gepostet habe !!!
m_bHot ist falsch (bei meiner Erklärung).WPARAM enthält die ID des Hotkey's...
Speichere Dein GlobalAddAtom("A") in einer Member-Variable (in OnInitDialog)
UINT m_nAtom = GlobalAddAtom("A"); LRESULT CYourDlg::HotKey(WPARAM wp, LPARAM lp) { if( wp == m_nAtom ) AfxMessageBox("Hotkey gedrückt"); //oder ähnliches :) }
Jetzt aber
MfG veganza
[ Dieser Beitrag wurde am 02.09.2002 um 18:15 Uhr von veganza editiert. ]