Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Externes Programm Starten und integrieren (https://www.delphipraxis.net/155278-externes-programm-starten-und-integrieren.html)

BlueLiquidCell 15. Okt 2010 21:43

Delphi-Version: 5

Externes Programm Starten und integrieren
 
Hey Guys

Ich weis das wurde schon ein paar mal besprochen aber ich hab nix gefunden was meine Frage beantwortet.

Ich würde gerne ein externes Programm starten (das is nich so das Problem) und dann in einem bestimmten bereich in meinem Programm anzeigen (z.B in einem Fenster von 200x200 Pixel)
Ich weis das is nicht die perfekte Lösung, integrieren wär besser aber weis trotzdem jemand wie das geht?

Schöne Grüße
Christoph

Bummi 15. Okt 2010 22:32

AW: Externes Programm Starten und integrieren
 
Hoffe das hilft
Delphi-Quellcode:
procedure TForm4.Button1Click(Sender: TObject);

var
  hNotepad: hWnd; //Handle auf das Window welches man einsperren möchte

begin
  hNotepad := FindWindow('notepad', nil); //In diesem Fall sperren wir das gute alte Notepad ein
  Windows.SetParent(hNotepad, panel1.Handle); //Wir setzen das Parent mit Windows.SetParent, da ein Aufruf
                                        //von SetParent zur Folge hätte, dass wir die Methode von
                                        //TWinControl aufrufen würden, was wir nicht wollen
  ShowWindow(hNotepad, SW_MAXIMIZE); //Einmal ShowWindow mit SW_MAXIMIZE als Parameter damit das Fenster
                                     //sich über die ganze Form erstreckt

end;

BlueLiquidCell 15. Okt 2010 22:58

AW: Externes Programm Starten und integrieren
 
Hey
Ja das is schonmal nen Anfang.

Hab jetzt nen Panel und dem Programm das als Parent zugewiesen.

Wie kann ich die Leiste oben verschwinden lassen? Also die Leiste vom Programm?

Wie kann man das externe Programm am besten starten?

Schöne Grüße
Christoph

Luckie 16. Okt 2010 01:58

AW: Externes Programm Starten und integrieren
 
Guck dir doch einfach mal die Formulareigenschaften im Objektinspektor an.

Start kannst du ein Programm mit: ShellEexecute, ShellexecuteEx, CreateProcess.

Aber warum willst du ein Programm starten, so tun als ob es zu deinem Programm gehört und dann doch wieder die Fensterleiste, deines Programms entfernen? Das ergibt für mich keinen Sinn.

BlueLiquidCell 16. Okt 2010 02:02

AW: Externes Programm Starten und integrieren
 
Dann will ich dir das mal erklären ;-)

Ich hab ein Programm mit mehreren Tabs geschrieben und in einem Tab würd ich gern ein anderes Programm einblenden. Von dem Programm will ich auch die Leiste entfernen nicht von meinem.

Das andere Programm ist Freeware und es gibt es auch als Opensource aber ich versteh nicht wie ich das richtig einbinden kann.
Deswegen dies "Notlösung"

Schöne Grüße
Christoph

Luckie 16. Okt 2010 02:11

AW: Externes Programm Starten und integrieren
 
Vom anderem Programm die Fensterleiste entfernen? SetWindowLong und dann die entsprechenden Fensterstile entfernen.


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