Zitat von
taaktaak:
Seltsam, gibt es da so etwas wie einen "Mausklickpuffer" der automatisch geleert wird, wenn der Button wieder aktiviert wird?
Jeder Prozess hat seine eigene Message Warteschlange.
Solange der Prozess keine Windows Messages aus der Warteschlange entgegennimmt, bleiben alle Mausklicks und Tasteneingaben gespeichert.
Hier zwei Funktionen, um alle Mausklicks und Tasteneingaben zu entfernen:
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;
function ClearMouseBuffer:Integer;
var
Msg: TMsg;
begin
Result := 0;
while PeekMessage(Msg, 0, WM_MOUSEFIRST, WM_MOUSELAST, PM_REMOVE) do
Inc(Result);
end;