.exe in Form1 Anzeigen ?



  • Hey Community,

    ich wollte mal fragen ob unter Borland C++ 6 die möglichkeit besteht
    ein externes Programm wie ICQ oder TS - 2 in einer Form anzuzeigen ?

    das man ein externes Programm aus einer Form herraus via. Button klick starten kann ist mir bekannt nur wie zeige ich es in der Form an ?

    gruß,
    Neu Hier 😉



  • Hallo,

    wenn du das Fenster-Handle der externen Anwendung kennst (bzw. mittels FindWindow o.ä heraussuchst), dann kannst du mittels der WinAPI-Funktion SetParent() dieses in deiner Form (oder jedes beliebige andere Container-Control) anzeigen.
    s.a. http://www.c-plusplus.net/forum/209667



  • Hey,
    danke für die schnelle antwort

    wenn ich die seite richtig verstanden habe müsste es so:

    SetParent(FremdHandle, Panel1->Handle);
      MoveWindow(FremdHandle, 0, 0, Panel1->ClientWidth, Panel1->ClientHeight, true);
    

    das Fenster in dem Panel1 Anzeigen und dieses auch anpassen oder liege ich da nun total falsch ?

    wobei FremdHandle welches durch das anzuzeigende Fenster zu ersetzen ist
    nur wie bekomme ich das Handle ???
    und kann das jemand an einem code beispiel versuchen zu erklären ???

    gruß,
    Neu Hier 😉



  • Hallo

    Zum Beispiel mit der WinAPI-Funktion FindWindow. Such nach dem Stichwort im WinAPI-Forum oder in der MSDN.

    bis bald
    akari



  • Danke für den Tip mit FindWindow,

    WinExec("notepad.exe", SW_SHOW);
    	HWND FremdHandel = FindWindow(0, "Unbenannt - Editor");
    	::SetParent(FremdHandel, Panel1->Handle);
    	MoveWindow(FremdHandel, 0, 0, Panel1->ClientWidth, Panel1->ClientHeight, true);
    

    das habe ich bis jetzt hat noch wer nen tip wie ich nun ein befehl an den
    "eingefangenden" Editor schicke ?

    gruß,
    Neu Hier 😉



  • Hallo

    Du kannst an den gefundenen Handle jede beliebige Windows-nachricht schicken, zum Beispiel auch Tastaturcodes. Letzteres mit der WinAPI-Funktion SendInput.

    bis bald
    akari


Anmelden zum Antworten