[comp.windows.ms.programmer] DDE questions

goodearl@world.std.com (Robert Goodearl) (05/03/91)

In article <41388@fmsrl7.UUCP> bpalsson@smail.srl.ford.com (Bengt A. Palsson) writes:
>
>We are working on putting together a multimedia application under Windows 3.0 and
>I have a few specific queries relating to running multiple applications under
>Windows 3.0 communicating via DDE:
>
>     1)   Is there a way to activate (start up) one application (that is NOT
>          currently running), 

Yes.  The function is WinExec

> and then terminate it FROM another application
>          that is currently running ? 

If you're starting a windows app, you could get the handle of the main
window and send it a WM_CLOSE message.  If the app has built in DDE
support, it may support a DDE command to close it.  (Excel supports this.)

...

>
>     The only possible solutions I could think of so far is: 
>
...
>
>          b) Send a DDE message to the Program Manager telling it to start up
>          a certain application, however, I don't know if the Program manager
>          supports DDE in this manner.
It does not.

>
>     2)   Once we have successfully carried out the task at hand within the
>          application (regardless of how it was started up), how do we switch
>          back to the original (calling) application ?
>
>     3)   When an application that currently is in the background recieves a DDE
>          message to display something in a window, will its window automatical-
>          ly move to "the front" or does that have to be a specific command via
>          DDE ? 
>

DDE is a message protocol.  Some of what you are trying to do is a higher
level of functionality that what DDE provides.  Have you read the section
in the SDK on DDE?  You don't say if you are planning to write all of these
apps yourself or if you are planning to use existing apps that support DDE.
If you're writing your own apps, you can do most anything you want with DDE.
If you are using existing apps, you need to know what functionality they
support via DDE.

Perhaps someone who has had a chance to read the OLE spec might comment 
Newsgroups: comp.windows.ms.programmer
Subject: Re: comp.windows.ms (actually DDE questions)
References: <41388@fmsrl7.UUCP>
Organization: The World @ Software Tool & Die

In article <41388@fmsrl7.UUCP> bpalsson@smail.srl.ford.com (Bengt A. Palsson) writes:
>
>We are working on putting together a multimedia application under Windows 3.0 and
>I have a few specific queries relating to running multiple applications under
>Windows 3.0 communicating via DDE:
>
>     1)   Is there a way to activate (start up) one application (that is NOT
>          currently running), 

Yes.  The function is WinExec

> and then terminate it FROM another application
>          that is currently running ? 

If you're starting a windows app, you could get the handle of the main
window and send it a WM_CLOSE message.  If the app has built in DDE
support, it may support a DDE command to close it.  (Excel supports this.)

...

>
>     The only possible solutions I could think of so far is: 
>
...
>
>          b) Send a DDE message to the Program Manager telling it to start up
>          a certain application, however, I don't know if the Program manager
>          supports DDE in this manner.
It does not.

>
>     2)   Once we have successfully carried out the task at hand within the
>          application (regardless of how it was started up), how do we switch
>          back to the original (calling) application ?
>
>     3)   When an application that currently is in the background recieves a DDE
>          message to display something in a window, will its window automatical-
>          ly move to "the front" or does that have to be a specific command via
>          DDE ? 
>

DDE is a message protocol.  Some of what you are trying to do is a higher
level of functionality that what DDE provides.  Have you read the section
in the SDK on DDE?  You don't say if you are planning to write all of these
apps yourself or if you are planning to use existing apps that support DDE.
If you're writing your own apps, you can do most anything you want with DDE.
If you are using existing apps, you need to know what functionality they
support via DDE.

Perhaps someone who has had a chance to read the OLE spec might comment 
-- 
Bob Goodearl -- goodearl@world.std.com
Principal Software Engineer, Easel Corporation