Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Ziel-Cursor wie in WinSpy++? (https://www.delphipraxis.net/136305-ziel-cursor-wie-winspy.html)

PeterPanino 27. Jun 2009 21:38


Ziel-Cursor wie in WinSpy++?
 
Hallo, ich möchte einen Ziel-Cursor wie in WinSpy++ machen:

1. Klick und Maustaste gedrückt halten auf das Steuerelement in meinem Programm: Der Cursor verwandelt sich in den Ziel-Cursor.

2. Ziehen bei gedrückter Maustaste auf ein fremdes Fenster: Um das fremde Fenster, über dem sich der Ziel-Cursor befindet, wird ein Rahmen gezeichnet.

3: Loslassen der Maustaste: Ich bekomme alle Informationen über das fremde Fenster.

Schritt 1 ist einfach. Wer könnte mir für Schritte 2 - 3 Tipps geben?

quendolineDD 28. Jun 2009 00:40

Re: Ziel-Cursor wie in WinSpy++?
 
Da ich WinSpy++ nicht kenne ein paar Nachfragen.
2. Beim Mousedown und gedrückt halten das Fenster per Drag&Drop in WinSpy++ ziehen, malt einen Rahmen um das Fenster?
Und eine Antwort, auch wenn weniger helfend.
3. Wenn du 2. ausführst wird natürlich das Zielfenster aktiv. Da gab es doch irgendeine Message. Darüber bekommst du Handle und über das Handle den Rest :-)

PeterPanino 28. Jun 2009 01:30

Re: Ziel-Cursor wie in WinSpy++?
 
Zitat:

Zitat von quendolineDD
2. Beim Mousedown und gedrückt halten das Fenster per Drag&Drop in WinSpy++ ziehen, malt einen Rahmen um das Fenster?

Nein, umgekehrt: Von meinem Programm zum fremden Fenster ziehen -> malt einen Rahmen um das fremde Fenster.

Das fremde Fenster identifizieren geht schon:

Delphi-Quellcode:
function TForm1.GetCurrentWindowHandle: HWND;
var
  pt: TPoint;
begin
    GetCursorPos(pt);
    Result := WindowFromPoint(pt);
end;

procedure TForm1.TimerTimer(Sender: TObject);
begin
  Form1.Caption := GetWindowCaption(GetCurrentWindowHandle);
end;
Nur, wie kann ich einen Rahmen um das fremde Fenster malen?

quendolineDD 28. Jun 2009 01:37

Re: Ziel-Cursor wie in WinSpy++?
 
Hat alles was mit 3. zu tun. Hab heut abend und morgen keine Zeit. Kann aber nächste Woche mal schauen, wenn nicht jemand anderes geantwortet hat. Andernfalls schaue ich mir alle Antworten an und überlege was ich noch dazu beitragen kann. :)

Zu deinem Edit:
maximal eine Suche in Google führt mich zurück nach Delphi-PRAXiS :dp:
guckst du hier fertiger Quellcode zum kopieren

PeterPanino 28. Jun 2009 01:51

Re: Ziel-Cursor wie in WinSpy++?
 
Vielen Dank für die Hinweise. Jetzt blinkt's schon, zwar noch nicht wie es sollte, aber immerhin. Werde mich da mal einarbeiten.

Wenn die Maus über einem Control des fremden Fensters sich befindet, wie kann man da das Handle des Hauptfensters bekommen?

toms 28. Jun 2009 08:37

Re: Ziel-Cursor wie in WinSpy++?
 
Schau dir mal EDA von Assarbad an.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:15 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