AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster-Nachricht bei Numlock?

Offene Frage von "Lesco"
Ein Thema von Lesco · begonnen am 9. Apr 2005 · letzter Beitrag vom 9. Apr 2005
Antwort Antwort
Lesco

Registriert seit: 29. Mär 2005
29 Beiträge
 
Delphi 2005 Architect
 
#1

Fenster-Nachricht bei Numlock?

  Alt 9. Apr 2005, 11:37
ich will jedesmal abfangen wenn die num taste gedrückt wird( in einem GetMessage-Hook)
welche nachricht wird beim drücken von numlock verwendet?? mit wm_keydown/up und dann wParam auf VK_NUMLOCK prüfen funtzts net. hatte das selbe prob mit der windows-Taste(WM_SYSCOMMAND statt WM_KEYDOWN.) nur welche nachricht is bei num die entsprechende? mit spy++ hab ichs net rausgefunden und suche hier im forum und bei google hat auch nix ergeben.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Fenster-Nachricht bei Numlock?

  Alt 9. Apr 2005, 11:43
also bei mir wird beim drücken der NumTaste die 256 (message) angezeigt und beim loslassen die 257.

(hab einfach ein TApplicationEvents aufs Form gepackt und die messages in eine Memo ausgeben lassen)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Lesco

Registriert seit: 29. Mär 2005
29 Beiträge
 
Delphi 2005 Architect
 
#3

Re: Fenster-Nachricht bei Numlock?

  Alt 9. Apr 2005, 11:46
256=WM_KEYDOWN und 257=WM_KEYUP
nur wenn ich die nachricht dann bei wParam=VK_NUMLOCK abfange wird num trotzdem ein/ausgeschaltet.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Fenster-Nachricht bei Numlock?

  Alt 9. Apr 2005, 11:48
damit sollte dein Problem doch gelöst sein. einfach bei wm_keydown die params der Message mal überprüfen was da drin steht.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Mephistopheles
(Gast)

n/a Beiträge
 
#5

Re: Fenster-Nachricht bei Numlock?

  Alt 9. Apr 2005, 11:52
Wo willst du denn Numlock abfangen? Der Hook läßt ja schon darauf schließen, daß es eventuell nicht auf dem eigenen Fenster ist. Dann könnte GetAsyncKeyState() dein Freund sein.
  Mit Zitat antworten Zitat
Lesco

Registriert seit: 29. Mär 2005
29 Beiträge
 
Delphi 2005 Architect
 
#6

Re: Fenster-Nachricht bei Numlock?

  Alt 9. Apr 2005, 11:55
das hab ich gemacht und wenn wParam halt VK_NUMLOCK ist hab ich die nachricht auf WM_NULL gesetzt aber trotzdem wird num aktiviert/deaktiviert.
Edit: Also num will ich systemweit abfangen über allen Programmen ich schau mir AsyncKeyState mal an.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Fenster-Nachricht bei Numlock?

  Alt 9. Apr 2005, 11:58
du hast das prinzip des hooks noch nicht verstanden. du musst die ganze message verwerfen. Also diese nicht weitergeben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Lesco

Registriert seit: 29. Mär 2005
29 Beiträge
 
Delphi 2005 Architect
 
#8

Re: Fenster-Nachricht bei Numlock?

  Alt 9. Apr 2005, 12:01
es funzt bei anderen Tasten problemlos wenn ich folgendes ausführe
Delphi-Quellcode:
type
  pTMSG = ^TMSG;

....

pTMSG(lParam).message = WM_NULL;
damit wird die nachricht als WM_NULL nachricht weitergeleitet und vom zielfenster nicht verarbeitet

//Edit: GetAsyncKeyState is glaub ich nicht hilfreich ich will ja verhindern das der numlock-status verändert wird
  Mit Zitat antworten Zitat
Mephistopheles
(Gast)

n/a Beiträge
 
#9

Re: Fenster-Nachricht bei Numlock?

  Alt 9. Apr 2005, 12:04
Abfangen heißt ja nich immer blocken!

Also ein Message-Hook wird da nicht viel bringen. Ich denke, daß ein echter Tastaturhook besser wäre und auch besser zum Problem paßt. Sicherlich geht es ja auch hier um irgendeine Umschaltung wenn Numlock gedrückt wird. Daher könnte man u.U. die GetAsyncKeyState()-Abfrage auch allein im verarbeitenden Programm benutzen und käme komplett ohne Hook aus. Ansonsten würde ich immer entsprechend im Hook GetAsyncKeyState() oder GetKeyState() benutzen um den aktuellen Wert von Numlock auszulesen und zu berücksichtigen.
  Mit Zitat antworten Zitat
Lesco

Registriert seit: 29. Mär 2005
29 Beiträge
 
Delphi 2005 Architect
 
#10

Re: Fenster-Nachricht bei Numlock?

  Alt 9. Apr 2005, 12:08
also ich will das verändern des numlock-status komplett verhindern und auch ein paar andere Sachen wie zb dass sich das Startmenü öffnet( das hab ich nun schon hinbekommen indem ich WM_SYSCOMMAND geblockt habe wenn wParam= SC_TASKLIST war) und deshalb hab ich gehofft das ich alles in einer Hook-Prozedur unterbringen könnte und nicht noch einen Hook bräuchte
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 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