![]() |
Handle einer MainForm erhalten
Moin,
ich hätte gerne das Handle einer MainForm - ich habe aber nur das Handle der zugehörigen Application und der Titel der MainForm kann variieren. So erhalte ich das Handle der Application:
Delphi-Quellcode:
Ich weiß zwar, dass ich so das Handle einer Form erhalten kann:
var AppHandle: HWND;
begin AppHandle := FindWindow(nil, 'Name meiner Anwendung'); if AppHandle <> 0 then //...
Delphi-Quellcode:
...aber wie gesagt, kenne ich den Titel meiner Form nicht bzw. dieser kann sich ständig ändern und ist somit nicht eindeutig.
var FrmHandle: HWND;
begin FrmHandle := FindWindowEx(0, 0, nil, 'Titel meiner Form'); if FrmHandle <> 0 then //... |
Re: Handle einer MainForm erhalten
Bei FindWindow kannst Du als ersten Parameter die Klasse angeben, von der das Fenster sein soll.
Den zweiten Parameter machst Du dann nil. |
Re: Handle einer MainForm erhalten
Meinst Du so:
Delphi-Quellcode:
???
FindWindow('TForm', nil);
Na, wer weiß wie viele TForm's gerade laufen, da würd ich doch jede Menge Handels bekommen... Also es soll halt die MainForm der Application (s. erster Code) sein! |
Re: Handle einer MainForm erhalten
Delphi-Quellcode:
self.Handle
|
Re: Handle einer MainForm erhalten
Zitat:
Also ein fremdes Programm! |
Re: Handle einer MainForm erhalten
eher so:
Delphi-Quellcode:
so kannst Du sagen, dass Du das Handle des Fensters willst, das von der "EineBestimmteForm" abstammt. Der Titel des Fensters ist dann egal.
myHandle := FindWindow('TEineBestimmteForm', nil);
|
Re: Handle einer MainForm erhalten
Ja, so funktioniert's, Danke :thumb:
Delphi-Quellcode:
Allerdings funzt es nach ein paar Mal nicht mehr, erst wenn ich die Anwendung dann wieder neu starte :gruebel:
var FrmHandle: HWND;
begin FrmHandle := FindWindow('TForm1', nil); Aber das wird ich bestimmt irgendwie noch in den Griff bekommen... |
Re: Handle einer MainForm erhalten
Zitat:
Es lag daren, dass ich wohl in meinen Projekten öfters Forms mit dem Namen TForm1 habe (bin immer zu faul zum Umbenennen). Besser ist es, hier einen eindeutigen Namen für die Form zu nehmen! |
Re: Handle einer MainForm erhalten
Moin Martin,
Zitat:
|
Re: Handle einer MainForm erhalten
naja, es war schon eine von mir programmierte Anwendung.
Oder was meinst du jetzt? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 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