Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Fensterklasse und Titel herausfinden (https://www.delphipraxis.net/35606-fensterklasse-und-titel-herausfinden.html)

Die Muhkuh 9. Dez 2004 16:31


Fensterklasse und Titel herausfinden
 
Hi,

ihr kennt doch Luckie's Windows Info? Mit dem Programm kann man die Fensterklasse, Titel etc. herausfinden.
In meinem Programm brauch ich auch die Fensterklasse und den Titel. Das Problem ist, dass Luckie das Programm in nonVCL geschrieben hat und da blick ich nicht durch.

Ich hab auch schon gesucht, aber das war halt alles nonVCL. Ich brauch das in einer VCL anwendung.

Meine Frage:

Wie bekomme ich die Fensterklasse und den Titel des Fenster heraus, das sich grad "unterm" Mauszeiger befindet?

Luckie 9. Dez 2004 16:36

Re: Fensterklasse und Titel herausfinden
 
Nun ja, auch wenn es nonVCL ist, Delphi Code sollte man trotzdem lesen kömnnen:
Code:
WM_MOUSEMOVE:
      begin
        if ((GetCapture = hWnd) and GetCursorPos(pt)) then
        begin
          Target := WindowFromPoint(pt);
          ScreenToClient(Target, pt);
          Target := ChildWindowFromPoint(Target, pt);

          [b]GetClassName[/b](Target, buffer1, 256);
          SetWindowText(GetDlgItem(hWnd, IDC_WNDCLASS), buffer1);

          wvsprintf(buffer1, '0x%8.8X', PChar(@Target));
          SetWindowText(GetDlgItem(hWnd, IDC_HWND), buffer1);

          ID := GetDlgCtrlID(Target);
          wvsprintf(buffer1, '0x%8.8X', PChar(@ID));
          SetWindowText(GetDlgItem(hWnd, IDC_ID), buffer1);

          TID := GetWindowThreadProcessID(Target, @PID);

          wvsprintf(buffer1, '%8.8d', PChar(@PID));
          SetWindowText(GetDlgItem(hWnd, IDC_PROCID), buffer1);

          wvsprintf(buffer1, '0x%8.8X', PChar(@TID));
          SetWindowText(GetDlgItem(hWnd, IDC_THREADID), buffer1);

          [b]SendMessage[/b](Target, [b]WM_GETTEXT[/b], 256, Integer(@buffer1));
          SetWindowText(GetDlgItem(hWnd, IDC_TITLE), buffer1);

          s := GetExeStringFromProcID(PID);
          SetWindowText(GetDlgItem(hWnd, IDC_APPNAME), pointer(s));
[..]
da findest du alles. Eine Forensuche ist meist auch keine schlechte Idde. Das mit dem Klassennamen hatten wir erst vor ein paar Stunden.

Die Muhkuh 9. Dez 2004 16:47

Re: Fensterklasse und Titel herausfinden
 
Hi Luckie,

thx, der "kleine" Anstoß hat gereicht.


*MFG*

Mani :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 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-2025 by Thomas Breitkreuz