AGB  ·  Datenschutz  ·  Impressum  







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

WM Messagewarteschlange leeren!

Ein Thema von richard_boderich · begonnen am 10. Aug 2006 · letzter Beitrag vom 11. Aug 2006
Antwort Antwort
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#1

WM Messagewarteschlange leeren!

  Alt 10. Aug 2006, 17:55
moin

ich hab ein kleines problem. mittels Registerhotkey und WMI werte ich einen tastendruck aus.
das klappt auch ganz prima. aber wenn mein programm den tastendruck auswertet, und den finger auf der taste lasse entsteht eine wartepause bis alle ereignisse aus der WMI warteschlage abgearbeitet sind. in dieser zeit reagiert meine anwendung nicht. ich suche jetzt also nach einer moeglichkeit
am anfang meiner auswertungsroutine die Messages abzustellen bzw. weitere zu verwerfen und
am ende meiner auswerteroutine wieder in kraft zu setzten.

also sowas wie onmousedown:=nil;

ich hoffe ihr wisst was ich meine

gruss richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: WMI Messagewarteschlange leeren!

  Alt 11. Aug 2006, 00:50
Zitat von richard_boderich:
mittels Registerhotkey und WMI werte ich einen tastendruck aus.
Was hat WMI damit zu tun? WMI ist die Windows Managment Instrumentation und hat nichts mit Hotkeys zu tun.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#3

Re: WMI Messagewarteschlange leeren!

  Alt 11. Aug 2006, 09:49
hallo luckie

der tastendruck wird mit WM_hotkey message an mein form weitergeleitet. net man das nich WMI?
wenn nich tut es mir leid. wusste ich nich das das falsch war. mal ne theoretische frage.
wenn ich fuer register hotkey den handle temporäer auf nil setzt waer da ne moeglichkeit?

PS: du hast mich auf die idee mit register hotkey gebracht

gruss richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#4

Re: WM Messagewarteschlange leeren!

  Alt 11. Aug 2006, 09:55
Hi,

1) Das nennt man nicht WMI ...
2) Du könntest die Nachrichten in einzelnen Threads bearbeiten.
3) Du nimmst doch n Hook

Greetz
Boombuler
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?"
SwapIt Highscore:
  Mit Zitat antworten Zitat
rbonk

Registriert seit: 10. Aug 2006
3 Beiträge
 
#5

Re: WM Messagewarteschlange leeren!

  Alt 11. Aug 2006, 18:43
Hallo Richard,

Messages kann man mit der Win-API- Funktion PeekMessage aus der Warteschlange rausschmeissen. Beispielsweise

Delphi-Quellcode:
interface
uses Windows, Messages, Forms;

implementation

procedure FlushMessageQueue_WMHotkey;
var
  msg : TMsg;
begin
  while PeekMessage (msg, Application.Handle, WM_HOTKEY, WM_HOTKEY, PM_REMOVE) do;
end;
Statt 'Application.Handle' muss eventuell 0 (gesamter Thread) oder das Handle Deines Fensters verwendet werden - Ich weiss nicht genau.

Ess müsste genügen wenn Du diese Funktion einmal am Ende der HotKey - Verarbeitungsroutine einnfügst.

Gruss,
Randolf
  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 08:22 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