AGB  ·  Datenschutz  ·  Impressum  







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

Denkansätze: Window-Hook

Ein Thema von Prototypjack · begonnen am 25. Aug 2007 · letzter Beitrag vom 26. Aug 2007
Antwort Antwort
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#1

Denkansätze: Window-Hook

  Alt 25. Aug 2007, 18:45
Moin,

Ich bräuchte mal ein paar Denkansätze zu folgendem Thema:

Wie kann ich mich informieren lassen (mein Programm, natürlich), wenn ein sichtbares Fenster (muss nicht zwangsweise von mir sein! Ist eigentlich eher unwahrscheinlich, dass es von mir ist.) durch seinen Left/Top-Wert eine bestimmte Marke erreicht/überschreitet?

Ich habe absolut keine Erfahrung mit diesem Thema, aber ich denke da muss ich irgendwas hooken.

Könnt ihr mir ein paar Schlagworte, Möglichkeiten sagen wie ich sowas realisieren kann, bzw. wo ich suchen muss um etwas zu finden?

Grüße & Danke,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Denkansätze: Window-Hook

  Alt 25. Aug 2007, 19:59
Ich vermute dir, dass du das Tutorial auf dsdt bereitst angeschaut hast.
Schau mal in der MSDN bei setWindowsHookEx, da sind die Hook-Typen aufgeführt. Schau dir außerdem die dort verlinkten Funktionen an. Bei dir wird es wahrscheinlich auf einen WH_GETMESSAGE-Hook oder etwas ähnliches hinauslaufen.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Denkansätze: Window-Hook

  Alt 25. Aug 2007, 20:19
Moin,

Hmm, nein. Aber ich bin gerade dabei Assarbads Tutorial durchzuarbeiten

Ich bin aber gerade eben auf etwas anderes gestoßen:
Zitat von Assarbad:
1. Man sollte NUR SC_MINIMIZE abfangen.
2. WM_SIZE wird geschickt, nachdem bereits etwas passiert ist, ist also so oder so falsch.
3. Der Hook ist global (also in einer DLL)???
4. Statt MessageBox() versuch mal Beep() ... ist allemal weniger Eingriff ins fremde Programm.
5. TMsg ist bereits deklariert.
6. Statt SendMessage() an dein eigenes Handle nimm HWND_BROADCAST _und_ SendMessageTimeout()

Interessant wäre auch, ob du eine Message blockieren willst, oder nur selber benachrichtigt werden willst (geht auch ohne Nachrichten, mit Events oder Semaphoren).

Welchen Hooktyp benutzt du? Sollte man wohl angeben ... es gibt ja mehr als eine Möglichkeit!
Ich will nichts blockieren, folglich komme ich auch ohne Hook davon?


Grüße,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#4

Re: Denkansätze: Window-Hook

  Alt 25. Aug 2007, 21:08
Da hast du meine Worte aber aus dem Kontext gerissen und mein Tutorial ist auch schon leicht veraltet, falls ich jemals die Zeit finde, wird es eine aktualisierte Version für C und Delphi geben ...

Für das von dir beschriebene Szenario scheint mir ein Hook unabdingbar.
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Denkansätze: Window-Hook

  Alt 25. Aug 2007, 22:41
Zitat von Olli:
Da hast du meine Worte aber aus dem Kontext gerissen und mein Tutorial ist auch schon leicht veraltet, falls ich jemals die Zeit finde, wird es eine aktualisierte Version für C und Delphi geben ...

Für das von dir beschriebene Szenario scheint mir ein Hook unabdingbar.
Hmm, ok. ich werde dann wahrscheinlich über WH_GETMESSAGE gehen, wie mir bereits vorgeschlagen wurde.
Bleibt noch eine Frage:
Wie komme ich an die Daten (Top/Left-Werte der Fenster?). Tut mir leid, ich bin, wie gesagt, auf diesem Gebiet Neuling.

Danke & Grüße,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#6

Re: Denkansätze: Window-Hook

  Alt 25. Aug 2007, 23:39
Naja, was dich ja im Grunde interessiert, ist wenn sich ein Fenster bewegt (i.e. bewegt wird) - richtig? Dementsprechend müßtest du je nachdem was erreicht werden soll WM_MOVING oder WM_MOVE abfangen und die Positionen auswerten (und ggf. bei WM_MOVING auch modifizieren).
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Denkansätze: Window-Hook

  Alt 26. Aug 2007, 12:01
Moin,

Sehr gut, ich habe den Hook komplett am laufen und er funktioniert so wie ich es erwarte.

Ehrlich gesagt bin ich etwas enttäuscht, ich dachte das wird ein riesen Stück Arbeit, aber mit Ollis Tut und euch hier im Forum ist das ganze ja schon fast trivial

Danke!

Grüße,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#8

Re: Denkansätze: Window-Hook

  Alt 26. Aug 2007, 15:28
Naja, ein wenig Eigeninitiative ist schon noch erforderlich, aber an der scheint es bei dir (im Gegensatz zu vielen anderen jungen Delphianern) nicht zu mangeln!
  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 01:53 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