AGB  ·  Datenschutz  ·  Impressum  







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

Mausklick abfangen ohne Hook

Ein Thema von cookie22 · begonnen am 12. Jan 2010 · letzter Beitrag vom 13. Jan 2010
Antwort Antwort
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#1

Mausklick abfangen ohne Hook

  Alt 12. Jan 2010, 19:47
hallo,

ich möchte festellen, ob die maus ausserhalb meines programmes geklickt wurde, wo ist egal. ich muss nur wissen, das sie geklickt wurde. allerdings möchte ich nicht extra einen hook installieren. jemand ne idee wie man das machen kann?

gruß,
cookie
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Mausklick abfangen ohne Hook

  Alt 12. Jan 2010, 19:57
Eventuell mit MSDN-Library durchsuchenClipCursor?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Mausklick abfangen ohne Hook

  Alt 12. Jan 2010, 20:05
Hallo,

was möchtest du denn erreichen?
Ich sehe nur einen Sinn dahinter, wenn du feststellen möchtest, wann dein Fenster den Fokus verliert. Ich kann mich natürlich irren.
Falls es stimmen sollte reichen auch Shortcuts, um dein Fenster zum nicht aktiven zu machen (Bsp. Alt + Tab). Das Reagieren von Mausklicks würde somit nichts bringen.

Das kannst du mittels TApplicationEvents (Reiter "Zusätzlich") im Ereignis "OnDeactivate" feststellen.
Falls dir das nicht weiterhilft, sorry. Ich kann mir nur nicht erklären, wo man das sonst benötigt.

Grüße, Matze
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Mausklick abfangen ohne Hook

  Alt 12. Jan 2010, 20:21
es geht um sowas wie eine auto type funktion. ein user soll auf einen button drücken, dann wechsel ich den cursor systemweit mit "SetSystemCursor" zu einem custom cursor. dann soll der user z.B. in ein edit feld klicken und ich starte meine ausfüll sequenz und setze den cursor zurück.


wie kann ich mit clipcursor feststellen, ob geklickt wurde?
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#5

Re: Mausklick abfangen ohne Hook

  Alt 12. Jan 2010, 20:29
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var w:cardinal;
S:String;
begin
SetCaptureControl(nil);
mouse.Dispatch(w);
label1.caption:= inttostr(mouse.CursorPos.X);
label2.caption:=inttostr(mouse.CursorPos.Y);

S:= 'Maus Up';
if (getasynckeystate(VK_LBUTTON)<>0) then
 S:='Maus Down';
label3.caption:=S;
end;
I love DiscCat
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Mausklick abfangen ohne Hook

  Alt 13. Jan 2010, 00:48
jo danke, das funktioniert.

ich machs jetzt aber so wie matze vorgeschlagen hat, das reicht völlig.
  Mit Zitat antworten Zitat
busybyte

Registriert seit: 15. Sep 2006
165 Beiträge
 
#7

Re: Mausklick abfangen ohne Hook

  Alt 13. Jan 2010, 02:49
gerne, matze hat eh recht, das auch mit der tastatur deaktiviert werden kann und somit hat er die einzig richtige lösung für dein problem
I love DiscCat
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:43 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