Re: Open a child process window within a (child) frame
- From: Joseph M. Newcomer <newcomer@xxxxxxxxxxxx>
- Date: Sun, 20 Apr 2008 13:54:06 -0400
See below...
On Fri, 18 Apr 2008 08:56:11 -0700, Larry Lindstrom <nobody@xxxxxxxxxxx> wrote:
Uwe Kotyczka wrote:****
Hallo!
I am to write a kind of meta-application, i.e. an application
which provides it's own funcionality and is able to "open" a
bunch of external applications.
I could imagine that the meta-application is a MFC MDI app, say
meta.exe,
which, when it opens an external exe, say a.exe, shows the
main window of a.exe not as a popup window, but as a child of some
MDI child frame instead. (Hope I could make it clear what I wish to
do.)
Simple means like CreateProcess or ShellExecuteEx cannot achieve
such a behaviour. So what would be the best way to implement it?
Hi Uwe:
I attempted this last year and, after wasting months on
the effort, abandoned it.
It might be educational for you to search Google's archives
of *win32* for a thread I started last fall, October 16, 2007
US West Coast Time, titled "Let's try this Document-Oriented
Model Again Please."
It was the final post of a series of threads I'd started
last year to build an interface that would emulate that used
by Excell or Word.
Perhaps MFC will offer a golden road to solve the task I
believe you are attempting. I don't use it.
(a) you should learn it
(b) it is not required to use OLE embedding, particularly to support Office apps.
****
****
To put it simply, I wanted individual applications, spawned
with CreateProcess() to play nice together and have their windows
constrained by a process that would provide an MDI style frame.
You would not use CreateProcess for this; you would instantiate an appropriate Object type
in your app, and if you are using OLE, would then follow the rules required to support the
object's native menu bars and such in your app.
*****
*****
My applications needed to share data, which meant they needed
to communicate through page backed mapped files, a fancy way of
saying "shared memory" which was a pain, but solvable. The job
of constraining the windows to live inside another window was
the straw that broke the camel's back.
That's because Windows was not designed to do this. In OLE, the window that is used
actually belongs to your app, and the OLE mechanism allows the OLE Server app (such as
Word or Excel) to interact via that Window
*****
Joseph M. Newcomer [MVP]
I don't want to discourage you. But I suggest you take a
look at that thread, and other threads of mine with "Document-
Oriented Model" in the title last year.
I wish you luck, and hope these threads will serve in some
small way to help you develop this project.
Larry
email: newcomer@xxxxxxxxxxxx
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
.
- References:
- Re: Open a child process window within a (child) frame
- From: Larry Lindstrom
- Re: Open a child process window within a (child) frame
- Prev by Date: Re: Open a child process window within a (child) frame
- Next by Date: Re: Right click mouse window activation disabling
- Previous by thread: Re: Open a child process window within a (child) frame
- Next by thread: Re: Open a child process window within a (child) frame
- Index(es):
Relevant Pages
|