AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Maushook: Mausklick "nachliefern"
Thema durchsuchen
Ansicht
Themen-Optionen

Maushook: Mausklick "nachliefern"

Ein Thema von OrallY · begonnen am 6. Feb 2004 · letzter Beitrag vom 3. Jun 2006
 
Benutzerbild von OrallY
OrallY

Registriert seit: 29. Apr 2003
268 Beiträge
 
#1

Maushook: Mausklick "nachliefern"

  Alt 6. Feb 2004, 17:44
Mein Problem: Ich hab einen LowLevel-Mousehook installiert. Wenn die Maus bei gedrückter rechter Maustaste bewegt wird, soll der Mausklick nicht weitergeleitet werden. Wird allerdings die Maustaste gedrückt, ohne dass die Maus bewegt wird, soll alles ganz normal ablaufen, sprich Windows erfährt, dass die Maustaste gedrückt wurde.

Das Blockieren ist kein Problem (Dies erfolgt durch die Nichtaufrufung von CallNextHookEx.). Vielmehr, dass die Maustaste erst dann "gedrückt" wird, wenn die Maus weniger als, sagen wir mal, 10 Pixel bewegt wird. Das Problem ist jetzt die "Nachlieferung" von der WM_RMOUSEDOWN-Nachricht. Wenn ich versuche mit mouse_event den Mausklick zu simulieren, hat dies keine Wirkung.

Ich hoff mal, dass man ungefähr nachvollziehen kann, was ich meine.

Auszug aus der Hook-DLL (ist zugegebenermaßen ein wenig zusammengehackt ):
Delphi-Quellcode:
{...}
    Inc(CallCounter);

    if (wParam = WM_RBUTTONDOWN) or (wParam = WM_RBUTTONUP) then
    begin
      if wParam = WM_RBUTTONUP then
        if CallCounter < 10 then
        begin
          GetCursorPos(CurPos);
          mouse_event(MOUSEEVENTF_RIGHTDOWN, CurPos.X, CurPos.Y, 0, 0);
          Result := CallNextHookEx(LowLevelMouseHookHandle, nCode, WParam, LParam);
        end;

      CallCounter := 0;
    end
    else
      Result := CallNextHookEx(LowLevelMouseHookHandle, nCode, WParam, LParam);
{...}
.oO'rallY
Linux is like a tipi: no gates, no windows and a gnu-eating apache inside...
  Mit Zitat antworten Zitat
 


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 15:54 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