Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi .exe Fenster in Form einfügen (https://www.delphipraxis.net/95114-exe-fenster-form-einfuegen.html)

Xenonz 1. Jul 2007 01:03


.exe Fenster in Form einfügen
 
Hallo!

Ich würde gerne eine .exe in einem Delphi Programm ausführen. Das Fenster, dass durch die .exe erzeugt wird, soll jedoch in meiner Delphi Form zB TForm1 angezeigt werden.

Gibt es da irgendeine Möglichkeit?

MfG Xenonz

fLaSh11 1. Jul 2007 01:11

Re: .exe Fenster in Form einfügen
 
Du willst eine MDI/SDI-Applikation, die dir Windows-Programme emuliert?

Ich denke nicht, dass das funktioniert. Und wenn es eine Möglichkeit gibt, dann ist die sicher (sehr)^100 umständlich...

Xenonz 1. Jul 2007 01:15

Re: .exe Fenster in Form einfügen
 
Was heißt emulieren... Das Programm wird ja von Windows selbst ausgeführt. Der Punkt ist nur die Darstellung. Evtl. gibts da eine Möglichkeit der Anwendung zu sagen wo das Fenster aufgebaut werden soll.

Olli 1. Jul 2007 01:18

Re: .exe Fenster in Form einfügen
 
Zitat:

Zitat von fLaSh11
Du willst eine MDI/SDI-Applikation, die dir Windows-Programme emuliert?

Wo hätte er denn wohl sowas gesagt?

Zitat:

Zitat von fLaSh11
Ich denke nicht, dass das funktioniert. Und wenn es eine Möglichkeit gibt, dann ist die sicher (sehr)^100 umständlich...

Nachgewiesenermaßen ist das sogar relativ simpel. Es gibt aber eine Vielfalt an Lösungswegen. Im einfachsten Falle würde man den Prozess mit ShellExecuteEx starten und hoffen daß die gestartete Anwendung auf Flags wie SW_HIDE hört. Wenn sie das tut, hat man bekanntlich die PID, ja sogar ggf. die TID, des Fensters und braucht nun nur noch die Flags des Fensters modifizieren und das neue Elternfenster setzen.

Und nein, Bsp-Code gibt es von mir nicht. Das ist so trivial, daß es da hunderte Quellen geben dürfte. Sowas haben wir schon 1998 als Fragen bei Spotlight gehabt. Kehrt immer wieder :roll:

hathor 1. Jul 2007 18:27

Re: .exe Fenster in Form einfügen
 
@Olli:

Wer ist denn scharf auf sooo eine Antwort???

Andreas L. 1. Jul 2007 18:39

Re: .exe Fenster in Form einfügen
 
Zitat:

Zitat von hathor
@Olli:

Wer ist denn scharf auf sooo eine Antwort???

Jemand der fähig ist aus den Informationen sich selber was zu basteln oder eine Suche nach Begriffen wie z. B. TID zu starten.

@Olli: Würde es denn nicht reichen, das Handle des Fensters zu bekommen und dann Position und Größe zu ändern?

Olli 1. Jul 2007 18:44

Re: .exe Fenster in Form einfügen
 
Zitat:

Zitat von hathor
@Olli:

Wer ist denn scharf auf sooo eine Antwort???

Vielleicht Leute die eine andere Einstellung als "Wer kopiert, hat mehr vom Leben." haben? :mrgreen: :zwinker:

Aber es ist auch sehr anspruchsvoll Funktionen wie MSDN-Library durchsuchenSetParent anhand obiger Beschreibung selber zu finden. Ist klar :zwinker:

Zitat:

Zitat von Andreas L.
@Olli: Würde es denn nicht reichen, das Handle des Fensters zu bekommen und dann Position und Größe zu ändern?

Müßte man ausprobieren, aber IMO muß man auch noch das Elternfenster setzen, ansonsten müßtest du ja Position und Größe ständig selber anpassen. Und WS_CHILD dient eben dazu, daß das Fenster auch alle Größenänderungen des Elternfensters mitmacht.


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