AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) SetWindowsHookEx - Hook im eigenen Prozess

SetWindowsHookEx - Hook im eigenen Prozess

Ein Thema von Neutral General · begonnen am 7. Okt 2015 · letzter Beitrag vom 8. Okt 2015
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.192 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

SetWindowsHookEx - Hook im eigenen Prozess

  Alt 7. Okt 2015, 12:50
Hallo,

Vielleicht steh ich etwas aufm Schlauch aber ich bräuchte einen WH_CALLWNDPROC-Hook der nur in meinem Prozess gültig ist (aber dort für alle Threads).
Ich registriere den Hook aus einer DLL die von meinem Programm geladen wird.

Ich hatte bisher das Problem, dass der Hook entweder (versehentlich) systemweit registriert und geladen wurde oder nur für einen Thread meines Prozesses galt.
Gibt es da ein Zwischending - Also für alle Threads meines Prozesses?

Habe auch mal SetWindowsHook (ohne Ex) probiert und das tut genau was ich möchte, aber die API ist veraltet und man findet bei Google ungefähr gar nichts darüber,
weswegen ich diese API nicht unbedingt benutzen möchte.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.107 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: SetWindowsHookEx - Hook im eigenen Prozess

  Alt 7. Okt 2015, 13:01
Einfach bei dir CallWindowProc, PeekMessage oder Dergleichen hooken?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

AW: SetWindowsHookEx - Hook im eigenen Prozess

  Alt 7. Okt 2015, 21:28
Neutral General, frag mal direkt bei Assarbad oder mache ihn auf Dein Anliegen aufmerksam.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

AW: SetWindowsHookEx - Hook im eigenen Prozess

  Alt 8. Okt 2015, 06:53
Du könntest einfach das betroffene Fenster subclassen. Das geht ganz einfach indem du per MSDN-Library durchsuchenSetWindowLong über GWL_WNDPROC eine neue WndProc setzt und in dieser ggfls. dann die alte WndProc aufrufst.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.192 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: SetWindowsHookEx - Hook im eigenen Prozess

  Alt 8. Okt 2015, 07:48
Einfach bei dir CallWindowProc, PeekMessage oder Dergleichen hooken?
Da war mein vorheriger Ansatz mir alle Threads aufzulisten und den mit einer GUI zu nehmen noch einfacher

Du könntest einfach das betroffene Fenster subclassen. Das geht ganz einfach indem du per MSDN-Library durchsuchenSetWindowLong über GWL_WNDPROC eine neue WndProc setzt und in dieser ggfls. dann die alte WndProc aufrufst.
Das Problem ist, dass ich mit meiner DLL in einem fremden Prozess bin und nur über Umwege an das (richtige) Fensterhandle drankäme.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf