AGB  ·  Datenschutz  ·  Impressum  







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

Maushook: Mausklick "nachliefern"

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

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

Maushook: Mausklick "nachliefern"

  Alt 6. Feb 2004, 18: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
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Maushook: Mausklick "nachliefern"

  Alt 6. Feb 2004, 18:46
sorgst du irgendwie auch dafür das deine message nicht durch deinen eigenen hook rausgefiltert wird??
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von OrallY
OrallY

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

Re: Maushook: Mausklick "nachliefern"

  Alt 6. Feb 2004, 19:05
Ah, danke für den Gedankenanstoß. Ich Hirni hab das im Eifer des Gefechts vergessen . Es klappt jetzt, so wie ich es will.
.oO'rallY
Linux is like a tipi: no gates, no windows and a gnu-eating apache inside...
  Mit Zitat antworten Zitat
win98

Registriert seit: 3. Jun 2006
Ort: Hofheim
10 Beiträge
 
Delphi 3 Standard
 
#4

Re: Maushook: Mausklick "nachliefern"

  Alt 3. Jun 2006, 21:08
ma hoffn, das ich hier das richtige thema erwischt hab....

hab keine ahnung was n hook is...

was ich brauch, ist ein befehl, mit dem ich den NÄCHSTEN mausklick abfragen kann.....

zb:

if (als nächstes image2 angeklickt wird) then begin

könnta mir weitergelfen
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Maushook: Mausklick "nachliefern"

  Alt 3. Jun 2006, 22:09
Zitat von win98:
ma hoffn, das ich hier das richtige thema erwischt hab....

hab keine ahnung was n hook is...

was ich brauch, ist ein befehl, mit dem ich den NÄCHSTEN mausklick abfragen kann.....

zb:

if (als nächstes image2 angeklickt wird) then begin

könnta mir weitergelfen
und wo ihr schon dabei seit.. ich könnt grad en Programm gebrauchen des mir die Lottozahlen von der nächsten ziehung vorraussagt .. sry.. aber was du in Zukunft tun wirst kann dein Programm ja schlecht wissen
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
win98

Registriert seit: 3. Jun 2006
Ort: Hofheim
10 Beiträge
 
Delphi 3 Standard
 
#6

Re: Maushook: Mausklick "nachliefern"

  Alt 3. Jun 2006, 22:11
naja.... das prog soll ja auch wissen, OB ich in zukunft was mache (image1 anklicke)
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#7

Re: Maushook: Mausklick "nachliefern"

  Alt 3. Jun 2006, 22:13
Zitat von Angel4585:
Zitat von win98:
ma hoffn, das ich hier das richtige thema erwischt hab....

hab keine ahnung was n hook is...

was ich brauch, ist ein befehl, mit dem ich den NÄCHSTEN mausklick abfragen kann.....

zb:

if (als nächstes image2 angeklickt wird) then begin

könnta mir weitergelfen
und wo ihr schon dabei seit.. ich könnt grad en Programm gebrauchen des mir die Lottozahlen von der nächsten ziehung vorraussagt .. sry.. aber was du in Zukunft tun wirst kann dein Programm ja schlecht wissen
Zufallszahlen Aber ist wirklich wahr, dann könnte man ja gleich dem Hook sagen, dass er machen will, worauf er gerade mal Lust hat.
Zitat von win98:
naja.... das prog soll ja auch wissen, OB ich in zukunft was mache (image1 anklicke)
Das wird es nie geben, da es den Naturgesetzen (stimmt das?) widerspricht.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#8

Re: Maushook: Mausklick "nachliefern"

  Alt 3. Jun 2006, 22:13
Du kannst nur auf Ereignisse reagieren, nicht sie vorhersagen

Du könntest natürlich etwas machen,wenn die Maus über deinem Image ist - siehe OnMouseMove
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Maushook: Mausklick "nachliefern"

  Alt 3. Jun 2006, 22:16
Abgesehn von der unlogik der Frage würde ich mal sagen was dir wahrscheinlich jemand anderes auch sagen würde wenn ich es jetzt nicht tue... Mach lieber nen eigenen Thread auf statt den hier zu missbrauchen
Allein schon weil die Leute die sich den Thread hier angucken nicht darauf gefasst sind dein Problem zu beheben sondern das des Thread-Erstellers wodurch du auch wohl weniger antworten bekommen wirst hier...
Und du solltest deine Frage vielleicht besser verständlich stellen Ich hab das Gefühl das du was machen willst, was ziemlich einfach ist und du drückst es nur komisch aus.

Gruß
Neutral General
Michael
  Mit Zitat antworten Zitat
win98

Registriert seit: 3. Jun 2006
Ort: Hofheim
10 Beiträge
 
Delphi 3 Standard
 
#10

Re: Maushook: Mausklick "nachliefern"

  Alt 3. Jun 2006, 22:19
is so...

ich will/soll ein memoryspiel mit delphie programieren.....

aba das klappt net mit den paar befehlen die ich hab....

n eigenen thread habsch schon aufgemacht.... nur da antwortet keiner .... naja.... dann mussch wohl abwarten.. trotzdem danke..
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:05 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