Discussion:
tool to monitor global memory
(too old to reply)
Michael Shutt
2010-09-01 21:18:03 UTC
Permalink
Raw Message
Long story short, I am using Adobe Reader (AcroRd32.exe) to automatically
print a series of documents to a specific printer without user input.
AcroRd32.exe accepts command line parameters that do just that, but it does
not close out the application when the printing is done. If you try to print
a series of documents (by calling AcroRd32.exe with the appropriate command
line parameters each time), it appears that the "new" instance of
AcroRd32.exe detects that another instance is already running, and uses DDE
to "forward" the print command over to the existing instance that is already
running. I have verified this using Spy to log the messages sent, and I can
clearly see that a WM_DDE_EXECUTE message is sent from the new instance to
the existing instance (of AcroRd32.exe), and then the new instance exits.

I am trying to determine what the DDE message is that is sent from the "new"
instance to the existing one so that I can just call it directly. In the
case of the WM_DDE_EXECUTE, the command is stored in a global memory object,
whose handle is passed in the lParam of the window message.

Can anyone point me a tool or other means by which I can look at that global
memory to see what the DDE command is?
Hans De Smaele
2010-09-29 11:27:04 UTC
Permalink
Raw Message
Michael,

try to use DDESPY (bing or google for it) to see the commands that are passed.

good luck.


"Michael Shutt" wrote:

> Long story short, I am using Adobe Reader (AcroRd32.exe) to automatically
> print a series of documents to a specific printer without user input.
> AcroRd32.exe accepts command line parameters that do just that, but it does
> not close out the application when the printing is done. If you try to print
> a series of documents (by calling AcroRd32.exe with the appropriate command
> line parameters each time), it appears that the "new" instance of
> AcroRd32.exe detects that another instance is already running, and uses DDE
> to "forward" the print command over to the existing instance that is already
> running. I have verified this using Spy to log the messages sent, and I can
> clearly see that a WM_DDE_EXECUTE message is sent from the new instance to
> the existing instance (of AcroRd32.exe), and then the new instance exits.
>
> I am trying to determine what the DDE message is that is sent from the "new"
> instance to the existing one so that I can just call it directly. In the
> case of the WM_DDE_EXECUTE, the command is stored in a global memory object,
> whose handle is passed in the lParam of the window message.
>
> Can anyone point me a tool or other means by which I can look at that global
> memory to see what the DDE command is?
Loading...