Einzelnen Beitrag anzeigen

bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: von gestarteten Programmen alle Fensterhandles in ini

  Alt 12. Sep 2007, 11:08
Zitat von hoika:
Hallo,

warum willst du etwas speichern,
was sich bei jedem Start eines Programm ändert ???

Das Handle wird von Windows vergeben.
Startest du den Editor, beendest ihn und
startest ihn neu, hat er ein anderes Handle.

Wenn du dir nur etwas merken willst,
erzeuge eine Klasse

type
TAppWindows = class
sAppName: String;
Handle: WORD
end

und packe die in eine TList;


Ansonsten FindWindow, FindWindowEx.


Heiko

Warum sind die Handles anders beim Editor nach erneutem Start ? Gerade mit Notepad ist es noch einfach den einzufangen. Dein Tipp mit FindWindowEx könnte hier noch was bringen, da könnte ich die erweiterten Fenster erhalten.

Achso,nochwas: Ich habe eine separate Config.exe, in der vom User die später nutzbaren extApps eingetragen werden.

Beim ersten Start der Apps ist alles kein Problem, vielmehr das nachträgliche einfangen des "richtigen" Mainfensters. Ich frage in meinem Programm ab, ob ein ext. App schon gestartet ist und wenn ja, dann Fenster nach vorne holen....

Hatte das App ein Copyright-Fenster zu Beginn, welches man wegklicken muss, dann habe ich auch nur das Handle...Mainwindow-Handle habe ich nicht.

Da sich viele Progs unterschiedlich verhalten, dachte ich mir, speziell für diesen Fall das pro App auszulagern (habe ja schon eine ini, in der die Apps mit Pfad aus der Config drinstehen) und die Fenster abzuspeichern.

Der User könnte im schlimmsten Fall die ini bearbeiten und die Fensterreihenfolge bzw Mainwindow nach oben schieben. Starten ginge dann über die exe, Fenster einfangen über das erste eingetragene Window. Falls noch weitere Fenster vorhanden, stehen die ab der 2.ten Stelle und werden dann falls gefunden, auch nach vorne vor das Mainwindow geholt...

Naja..etwas komplex der Gedanke....aber brauche ne Lösung, die funktioniert...

Gruß,bluescreen25
...und ich dachte, Delphi ist ein Programmgenerator mit nur einem Button......tzzz
  Mit Zitat antworten Zitat