Brauch mal eure Hilfe zu einem MausHook
-
Hallo zusammen,
bisher konnte ich alle Probleme durch stöbern im Forum lösen aber jetzt hab ich eines bei dem ich einfach nicht weiterkomme.
Ich habe mir einen MausHook gebastelt der auch einwandfrei funktioniert.LRESULT CALLBACK MouseProc(int code, WPARAM wParam, LPARAM lParam){ return CallNextHookEx(HookHandle2,code,wParam,lParam); }USW.......
Wie gesagt der Hook ist nicht das Problem, das Problem ist der InternetExplorer 8.
Ich möchte die Klick oder MouseMove Ereignisse abfangen, aber irgendwie macht der IE8 da etwas anders als alle anderen Fenster. Es funktioniert überall nur nicht im IE8
Ich habe herausgefunden das es wohl etwas mit den Tabs zu tun hat, hab aber keine Ahnung wie ich das Problem lösen soll. Der Hook an sich ist systemweit gesetzt und nicht nur auf den IE8 und dass möchte ich auch beibehalten.Kennt von euch jemand das Problem oder kann mir weiterhelfen ?
-
Hallo
Hat dann aber nichts mehr mit dem Borland Builder zu tun.
bis bald
akari
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL (C++ Builder) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
IE7 und IE8 laufen unter Vista und Windows 7 im Protected mode.
Und hier schlägt UIPI zu (User Interface Privilege Isolation)
http://msdn.microsoft.com/en-us/library/bb625963.aspx
http://msdn2.microsoft.com/en-us/library/Bb250462.aspx
http://www.codeproject.com/vista-security/PMSurvivalGuide.aspUser Interface Privilege Isolation (UIPI) implements restrictions in the windows subsystem that prevents lower-privilege applications from sending window messages or installing hooks in higher-privilege processes. Higher-privilege applications are permitted to send window messages to lower-privilege processes. The restrictions are implemented in the SendMessage and related window message functions. Not all window messages that are sent from a lower-privilege process to a higher-privilege process are blocked. Generally, “read” type messages, for example WM_GETTEXT, can be sent from a lower-privilege to a higher-privilege window. However, write type messages, such as WM_SETTEXT, are blocked.
Schönes Feature nicht!

-
Danke für den Tipp,
Ich habe es ausprobiert, ich kann die Berechtigung zum Erhalt der Messages mit ChangeWindowMessageFilter(WM_MOUSEMOVE ,MSGFLT_ADD); anfordern.
Dadurch bekomme ich die Messages auch von der Titelleiste des IE aber nach wie vor keine Messages vom Tab Inhalt des IE.Wenn ich es richtig verstanden habe liegt es daran das der ProtectedMode die Messages einer Anwendung mit einem niedrigeren Level nicht an eine Anwendung in einem höheren Level weitergibt.
Aber selbst mit ChangeWindowMessageFilter(WM_MOUSEMOVE ,MSGFLT_ADD) bekomme ich die Messages der Tabs nicht.