Question

I wanted to know if its possible to embed other .exe applications on a QT form. Say i have an app called foo.exe. Now I want to lauch foo.exe through my application. I know I could do that using QProcess::startDetached() however I would like that program to run within my form.Is that possible ?

No correct solution

OTHER TIPS

Believe what you want is a kind of "EMBED", there seems to be something done, but I can direct you to a few ways:

Cygwin

In X Window System we have o "X-Embed"

For Windows exists Cygwin/X (apparently to run "multi-threaded" in "google chrome" uses cygwin).

QT X11 Systems: http://qt-project.org/doc/qt-4.8/qvfb.html

Nice example: http://arstechnica.com/information-technology/2009/03/experimental-process-per-tab-browser-created-with-qt-xembed/ (outdated)

ActiveX

You can create Activex Controls, see example: http://qt-project.org/doc/qt-4.8/activeqt-server.html


In two suggestions that you spent the programs you want to add to your main program should be created by you, in other words, programs that are not compiled with "Cygwin" or is not an "ActiveX" (QT you can add controls ActiveX, such as Internet Explorer or MSExcel).

Believe both examples programs work as "servers" and its main program as a "client", in other words, other processes need not necessarily one graphical interface, I believe the main software is who works the GUI part.

For this reason the programs should be "embedded" created with the purpose of "embedding"


Alternative solution (DotNet and user32.dll)

See article:

http://www.codeproject.com/Articles/9123/Hosting-EXE-Applications-in-a-WinForm-project

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top