![]() |
Wie kann ich Mausklicks auf einem fremden Fenster verhindern ??
Hallo,
ich möchte mit meiner Anwendung verhindern, dass in einem anderen Programm die Bedienung per Mauklick möglich ist. In meiner Anwendung ist bereits eine DLL enthalten, die auch Mausklicks filtern kann, diese basiert auf einem ![]() Ich hatte mir so vorgestellt, dass die Mausevents nur herausgefiltert werden, wenn die Maus über dem Fenster steht. Dazu ermittle ich die Cursorposition mit folgendem Code:
Delphi-Quellcode:
Wie kann ich das zusammen verwenden ? Ich möchte die Funktion zur Ermittlunng der Cursorposition irgendwie verwenden um die Filterung der Maustastenevents zu aktivieren bzw. zu deaktivieren. Ich rätsel schon eine ganze Weile ...
function IsMouseWithinOurRange: Boolean;
var buffer: array [0..255] of Char; p: TPoint; begin Result := False; GetCursorPos(p); GetClassName(WindowFromPoint(p), buffer, length(buffer)); if string(buffer)='Start' then Result:=true; end; KUBA |
AW: Wie kann ich Mausklicks auf einem fremden Fenster verhindern ??
Hat sich schon erledigt, zu blöd aber auch. Ich hab die Funktion einfach in die DLL eingebaut und die Mausevents damit abgefangen. Cool ;-)
Delphi-Quellcode:
Ich hab echt schon so einige Stunden damit verbracht, aber kaum fragt man, schon kommt die passende Antwort :-D
if IsMouseWithinOurRange then
begin case TPMsg(lParam)^.message of WM_LBUTTONUP: Kill := True; WM_LBUTTONDOWN: Kill := True; end; end; KUBA |
AW: Wie kann ich Mausklicks auf einem fremden Fenster verhindern ??
//Cursor einsperren
ClipCursor(self); //Beispiel //Cursor freigeben ClipCursor(nil); |
AW: Wie kann ich Mausklicks auf einem fremden Fenster verhindern ??
Zitat:
Der Hook bewirkt, mit der von mir eingefügten Funktion, daß die Linke Maustaste auf dem Windows Startbutton herausgefiltert wird. Das Problem verfolgte mich ehrlich gesagt schon seit einigen Jahren ... KUBA :thumb: |
AW: Wie kann ich Mausklicks auf einem fremden Fenster verhindern ??
Zitat:
es hat doch noch nicht ganz so funktioniert, aber dies war der entscheidene Tip, Danke !! KUBA |
AW: Wie kann ich Mausklicks auf einem fremden Fenster verhindern ??
Irgend etwas stimmt noch nicht, mit 32 Bit Windows funktioniert es, aber nicht mit 64 Bit Windows.
:oops: |
AW: Wie kann ich Mausklicks auf einem fremden Fenster verhindern ??
Ist die Hook DLL auch 64-Bit?
|
AW: Wie kann ich Mausklicks auf einem fremden Fenster verhindern ??
Zitat:
Ich habe bisher nur mit Windows 10 getestet .... KUBA |
AW: Wie kann ich Mausklicks auf einem fremden Fenster verhindern ??
Hallo,
die Frage war nicht das Betriebsssystem, sondern ob du dein DLL als 64-Bit-DLL kompiliert hast. Heiko |
AW: Wie kann ich Mausklicks auf einem fremden Fenster verhindern ??
Zitat:
KUBA |
AW: Wie kann ich Mausklicks auf einem fremden Fenster verhindern ??
Welche 64-Bit Windows Version? Ich könnte mir vorstellen, dass ab Windows 8 Microsoft den Window-Manager wegen der Apps und Kacheln erheblich geändert hat.
|
AW: Wie kann ich Mausklicks auf einem fremden Fenster verhindern ??
Liste der Anhänge anzeigen (Anzahl: 1)
Ich teste mit Windows 10. Inzwischen habe ich herausgefunden, daß es vermutlich mit dem Betrieb auf einer virtuellen Maschine zusammenhängt. Auf 2 "echten" PC's funktioniert alles wie gewünscht. Ich poste mal was ich da gebastelt habe. Mit der gleichen Methode wollte ich in der DLL von SwissDelphiCenter die Mausklicks ausfiltern, geht auch, aber nur in einer 32 Bit virtuellen Maschine.
KUBA PS: DLL und EXE im Anhang sind für 64-Bit ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 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