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 Keyboard Message Queue leeren ? (https://www.delphipraxis.net/27636-keyboard-message-queue-leeren.html)

shmia 13. Aug 2004 11:12


Keyboard Message Queue leeren ?
 
Hi,

wie kann ich denn den Tastaturpuffer leeren ?
Ich habe noch dunkel in Erinnerung, dass es da eine Win-API Funktion gibt, die
den Puffer leert (Übergabeparameter war timeout in ms). :gruebel:

Hintergrund: ich habe einen Dialog und möchte sicherstellen, dass der Benutzer
alles gelesen hat, bevor ich auf Tastendrück reagiere.

shmia 13. Aug 2004 12:48

Re: Keyboard Message Queue leeren ?
 
Ich habs:
Delphi-Quellcode:
WaitForInputIdle(GetCurrentProcess, 20 {ms});
[Edit]
besser ist wohl so:
Delphi-Quellcode:
function ClearKeyboardBuffer:Integer;
var
   Msg: TMsg;
begin
   Result := 0;
   while PeekMessage(Msg, 0, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE) do
      Inc(Result);
end;
[/Edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 Uhr.

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