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 Fenstertext für Handle nicht fix! (https://www.delphipraxis.net/83241-fenstertext-fuer-handle-nicht-fix.html)

BrotherLui 29. Dez 2006 18:02


Fenstertext für Handle nicht fix!
 
Hallo,

ich habe eine Anwendung von der ich das Fenster Handle benötige.

Folgendes Problem:
Der Fenstertext variiert von Zeit zu Zeit. Es ist sogar manchmal so, dass er durchläuft wie ein Laufband. Und dabei ändert sich der Text immer wieder und kann alles mögliche enthalten. Also ich habe Textmäßig keinen Anhaltspunkt.

Ist es möglich von so einem Fenster das Handle zu bekommen?


Danke und Gruß
BrotherLui

marabu 29. Dez 2006 18:18

Re: Fenstertext für Handle nicht fix!
 
Hallo,

überlege mal, ob nicht die Suche über den Klassennamen - FindWindow('WindowClassName', nil) - des Fensters mehr Erfolg verspricht.

Freundliche Grüße

BrotherLui 29. Dez 2006 18:25

Re: Fenstertext für Handle nicht fix!
 
Hey das wär ja super.

Woher bekomm ich den Klassennamen von einer Anwendung? Wo steht der?


Viele Grüße

EDatabaseError 29. Dez 2006 18:27

Re: Fenstertext für Handle nicht fix!
 
Google mal nach WinSpy

marabu 29. Dez 2006 18:28

Re: Fenstertext für Handle nicht fix!
 
Da der Klassenname für dich wohl eine Konstante ist, könntest du ihn mittels WinSight32 einmal ermitteln und deinem Programm als Parameter mitgeben.

BrotherLui 29. Dez 2006 18:34

Re: Fenstertext für Handle nicht fix!
 
Ok. Ich hab zwar WinSight32 noch nie gehört aber ich werd es mal versuchen.

Danke für die Antworten.

marabu 29. Dez 2006 18:54

Re: Fenstertext für Handle nicht fix!
 
Du hast WinSight32 übrigens bezahlt - du findest es in deinem Delphi BIN-Verzeichnis und in deiner Delphi Programmgruppe im Start-Menü.

BrotherLui 29. Dez 2006 20:45

Re: Fenstertext für Handle nicht fix!
 
Super hat geklappt.

Mit WinSight bekommt man den Klassennamen. Z.B. #23142:Dialog

Dann nur noch:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  handle : hwnd;
begin
  handle := FindWindow('#23142', nil);     // Liefert das Handle vom Fenster
  MoveWindow(handle, 0, 0, 447, 152, True); // Jetzt kann man damit arbeiten.
end;
Danke! :thumb:

Christian Seehase 29. Dez 2006 21:02

Re: Fenstertext für Handle nicht fix!
 
Moin BrotherLui,

bevor Du das Handle verwendest, solltest Du aber lieber erst einmal prüfen, ob es gültig (<> 0) ist.

API 29. Dez 2006 21:47

Re: Fenstertext für Handle nicht fix!
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  handle : hwnd;
begin
  handle := FindWindow('#23142', nil);     // Liefert das Handle vom Fenster
  if IsWindow(handle) then
    MoveWindow(handle, 0, 0, 447, 152, True); // Jetzt kann man damit arbeiten.
end;


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