AGB  ·  Datenschutz  ·  Impressum  







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

Maus Hook Problem

Ein Thema von Flippo · begonnen am 21. Mär 2006 · letzter Beitrag vom 22. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
Flippo

Registriert seit: 26. Sep 2004
111 Beiträge
 
Delphi 2005 Personal
 
#1

Maus Hook Problem

  Alt 21. Mär 2006, 22:28
Hi,
hoffe hab die richtige Sparte erwischt, ich hab jetz schon so viele Sachen probiert und Tutorials gelesen und es klappt einfach immernoch nicht. Mein Problem:
Ich muss es merken wenn irgendwo außerhalb meiner Form mit der Maus geklickt wird. Dafür brauch ich einen Maushook hab ich gelesen. Der Funktioniert mitlerweile auch schon soweit, das ich es merke wenn in die Form geklickt wird, ich will es aber auch merken wenn ich z.B. die Taskleiste anklicke. Mein Code:
Delphi-Quellcode:
function MouseProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
  if wParam = WM_LBUTTONDOWN then
  begin
  if c=true then
   begin
   getcursorpos(P);
        pp.x:=p.x;
        pp.y:=p.y;
        c:=false;
   end;
  end;
  Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
end;

HookHandle:=SetWindowsHookEx(WH_Mouse, @MouseProc, HInstance, 0);
form1.caption:='Bitte Punkt wählen';
C:=true;
while C=true do
begin
application.ProcessMessages;
sleep(100);
end;
UnhookWindowsHookEx(HookHandle);
HookHandle:=0;
Ich dachte das würde jezt Systemweit funkionieren tuts aber nicht, was muss ich da ändern.
Ideal wärs wenn ich sogar noch unterbinden könnte das Schaltflächen die während der Hook aktiv ist angeklickt werden nicht reagieren.

Bin ein bischen ratlos würde mich über Hilfe freuen

MFG

Flippo
  Mit Zitat antworten Zitat
ulrich.b

Registriert seit: 21. Sep 2005
Ort: Kattau (AT)
79 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Maus Hook Problem

  Alt 21. Mär 2006, 22:43
Zitat von Flippo:
Hi,
Ich muss es merken wenn irgendwo außerhalb meiner Form mit der Maus geklickt wird. Dafür brauch ich einen Maushook hab ich gelesen. Der Funktioniert mitlerweile auch schon soweit, das ich es merke wenn in die Form geklickt wird, ich will es aber auch merken wenn ich z.B. die Taskleiste anklicke.
Willst du jetzt eigentlich ...
*) Auf einen Klick auf ein bestimmtes element ausserhalb deiner applikation reagieren, ODER
*) Einfach mitbekommen, dass IRGENDWO ausserhalb der Delphi App geklickt wurde

... ???
  Mit Zitat antworten Zitat
Flippo

Registriert seit: 26. Sep 2004
111 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Maus Hook Problem

  Alt 22. Mär 2006, 09:10
wenn irgendwo außerhalb oder innerhalb der delphi app geklickt wird
  Mit Zitat antworten Zitat
ulrich.b

Registriert seit: 21. Sep 2005
Ort: Kattau (AT)
79 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Maus Hook Problem

  Alt 22. Mär 2006, 10:14
Es gibt da eine Komponente (GpSysHook), die enthält eine DLL, die einen System Hook einrichtet, und mit der ebenfalls enthaltenen, nicht visuellen Komponente danach die Ereignise der Hooks per Delphi Event Handler ganz angenehm abgefangen werden können.

Ich hab mich einmal damit gespielt. Hat gut funktioniert.
Soweit ich weiss sind auch Beispiele enthalten.

Lg Ulrich
  Mit Zitat antworten Zitat
Flippo

Registriert seit: 26. Sep 2004
111 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Maus Hook Problem

  Alt 22. Mär 2006, 12:28
Hi danke schonmal,
aber das problem ist in meinen Augen sollte das oben ja auch ein Systemweiter Hook sein und ich würd gern wiessen wie das geht und ich brauch ja "nur" mitkriegen wenn irgendwo geklickt wird dafür extra eine Komponente einbauen wär mir zuviel.

Hoffe irgendjemand weiß wie das richtig funktioniert

MFG

Flippo
  Mit Zitat antworten Zitat
Benutzerbild von konda
konda

Registriert seit: 20. Dez 2005
253 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Maus Hook Problem

  Alt 22. Mär 2006, 13:04
Zitat von ulrich.b:
Es gibt da eine Komponente (GpSysHook), die enthält eine DLL, die einen System Hook einrichtet, und mit der ebenfalls enthaltenen, nicht visuellen Komponente danach die Ereignise der Hooks per Delphi Event Handler ganz angenehm abgefangen werden können.

Ich hab mich einmal damit gespielt. Hat gut funktioniert.
Soweit ich weiss sind auch Beispiele enthalten.

Lg Ulrich
Ist die Komponente kostenlos?
  Mit Zitat antworten Zitat
ulrich.b

Registriert seit: 21. Sep 2005
Ort: Kattau (AT)
79 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Maus Hook Problem

  Alt 22. Mär 2006, 13:42
Ja freilich! Source + DLL ist alles da.

Aber schau dir den link einfach mal an. Steht eh alles dort!


lg ulrich
  Mit Zitat antworten Zitat
Benutzerbild von konda
konda

Registriert seit: 20. Dez 2005
253 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Maus Hook Problem

  Alt 22. Mär 2006, 13:57
Wenn ich versuche die Komponenten zu installieren, kommt immer eine Fehlermeldung Package VCL50 benötigt. Könnte aber vielleicht auch daran liegen dass das Package für Delphi5 ist und ich Delphi2005 habe.
  Mit Zitat antworten Zitat
marlem

Registriert seit: 10. Mär 2006
59 Beiträge
 
Delphi 6 Personal
 
#9

Re: Maus Hook Problem

  Alt 22. Mär 2006, 14:39
mich würde auch interessieren wie man einen maushook selbst schreibt!
gruß und danke

Markus
  Mit Zitat antworten Zitat
Flippo

Registriert seit: 26. Sep 2004
111 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Maus Hook Problem

  Alt 22. Mär 2006, 15:36
oke danke, solltich jetz hinbekommen

(muss ich offene Frage wieder abstellen oder geht das von allein? ich find kein hebel)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:23 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