AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Low Level MouseHook funktioniert nicht wenn Registry offen..
Thema durchsuchen
Ansicht
Themen-Optionen

Low Level MouseHook funktioniert nicht wenn Registry offen..

Ein Thema von Nelphin · begonnen am 28. Feb 2015 · letzter Beitrag vom 28. Feb 2015
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Low Level MouseHook funktioniert nicht wenn Registry offen..

  Alt 28. Feb 2015, 10:56
Und die Benachrichtigung vom Hook erfolgt in irgendeinem Thread-Kontext, darum sollten die Zugriffe auf die Form dort auch synchronisiert erfolgen (bzw. besser ist es diese nicht blockierend an die Form zu senden).

Jupp und wenn der Benutzer-Kontext sich ändert, dann gibt es für den Benutzer-Kontext der Anwendung keine Maus-Ereignisse mehr
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Nelphin

Registriert seit: 2. Feb 2009
Ort: Kaiserslautern
71 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Low Level MouseHook funktioniert nicht wenn Registry offen..

  Alt 28. Feb 2015, 11:00
Und die Benachrichtigung vom Hook erfolgt in irgendeinem Thread-Kontext, darum sollten die Zugriffe auf die Form dort auch synchronisiert erfolgen (bzw. besser ist es diese nicht blockierend an die Form zu senden).

Jupp und wenn der Benutzer-Kontext sich ändert, dann gibt es für den Benutzer-Kontext der Anwendung keine Maus-Ereignisse mehr
puh... leider verstehe ich nur Bahnhof.
was bedeutet das fette synchronisiert? (Vielleicht auf meinen Beispielcode bezogen?)

Benutzer-Kontext?

ich habe jetzt diverse andere Programme als Admin gestartet und der mousehook arbeitet wie er soll weiter... nur wenn das registry fenster vorne ist eben nicht.

EDIT: oops verkuckt, der mousehook arbeitet tatsächlich nicht wenn ich anwendungen als Admin starte... (hatte nen workaround mit timer laufen der funktioniert)

Also gibt es Lösung die Benutzer-Kontext unabhängig funktioniert? Falls nicht muß ich mit timer arbeiten und den mousehook vergessen..

Geändert von Nelphin (28. Feb 2015 um 11:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.213 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Low Level MouseHook funktioniert nicht wenn Registry offen..

  Alt 28. Feb 2015, 12:25
Den Mousehook wirst du vergessen können. Das was MS gemacht hat war mit voller absicht. Es gab scheinbar ein paar Viren/Würmer die mit an Firewall/Virenscanner gesendeten WM-MOUSE-Events diese abgeschaltet haben, genauso als wenn es der User mit der Maus gemacht hätte. Diese Sicherheitslücke wurde mit der UAC geschlossen. Was natürlich den Nachteil das auch legitime Anwendungen keinen Zugriff mehr auf per UAC gestartete Anwendungen haben.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Nelphin

Registriert seit: 2. Feb 2009
Ort: Kaiserslautern
71 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Low Level MouseHook funktioniert nicht wenn Registry offen..

  Alt 28. Feb 2015, 12:59
Den Mousehook wirst du vergessen können. Das was MS gemacht hat war mit voller absicht. Es gab scheinbar ein paar Viren/Würmer die mit an Firewall/Virenscanner gesendeten WM-MOUSE-Events diese abgeschaltet haben, genauso als wenn es der User mit der Maus gemacht hätte. Diese Sicherheitslücke wurde mit der UAC geschlossen. Was natürlich den Nachteil das auch legitime Anwendungen keinen Zugriff mehr auf per UAC gestartete Anwendungen haben.
okay blöd...

kann man das Abfragen also ob der Benutzer Kontext gewechselt wird?
Dann könnte ich nur in dem Fall den Timer anwerfen und ansonsten mit Hook arbeiten... ich finds blöd wenn ich permanent per timer die mauskoordinaten abfragen muß.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Low Level MouseHook funktioniert nicht wenn Registry offen..

  Alt 28. Feb 2015, 14:08
Was willst du denn eigentlich erreichen?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Nelphin

Registriert seit: 2. Feb 2009
Ort: Kaiserslautern
71 Beiträge
 
Turbo Delphi für Win32
 
#6

AW: Low Level MouseHook funktioniert nicht wenn Registry offen..

  Alt 28. Feb 2015, 14:21
Was willst du denn eigentlich erreichen?
Verschiedene Dinge die mauspositionsabhängig sind.

Also zum Beispiel die aktuellen Mauskoordinaten anzeigen (X,Y) und eventuell darauf reagieren.
Das hatte ich bislang immer über Timer gelöst also ein timer ruft ständig GetCursorPos(); auf und ich verwerte das dann.
Eigentlich würde es ja aber genügen auf ein mousemove zu reagieren, da ich das aber desktopweit will, also auch außerhalb meiner Forms kam ich zum low level mousehook, der ja soweit auch schön arbeitet aber eben nicht wenn die registry, bzw wie ich jetzt gelernt habe wenn ein programm als admin gestartet wird.

ich hab jetzt eben versucht über das hier den Nutzerwechsel abzufragen aber das funktioniert leider nicht bei dieser admin geschichte

ich glaub ich geh zurück auf timer, dann läuft er halt im hintergrund...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Low Level MouseHook funktioniert nicht wenn Registry offen..

  Alt 28. Feb 2015, 15:24
Geht es etwas konkreter? Das hört sich alles nach Frickelei an, was du da machst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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:30 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 by Thomas Breitkreuz