Help closing external apps with PostMessage function...

I have been trying unsuccessfully to close an external application by
calling the WinAPI function PostMessage. Microsoft's explanation of
PostMessage is some what vague

The handle I assume is the same as Form1.Tag if I established it with:
ShellExecute( Form1.Tag, "open", "notepad.exe", NULL, NULL, SH_NORMAL);

The message to post would be WM_CLOSE to end the external application.

The arguments wParam and lParam are quoted as saying specifies additional
message-specific information.
What does this mean? I have tried various integers in these spaces without
any results.

Obviously I must be doing something wrong Can I get specific details on how
to destroy and external application... say notepad.exe?

Anthony M Walter

>>>  Included Quote of the PostMessage function taken from
>>>  Search for Post Message

The PostMessage function places (posts) a message in the message queue
associated with the thread that created the specified window and then
returns without waiting
for the thread to process the message. Messages in a message queue are
retrieved by calls to the GetMessage or PeekMessage function.

BOOL PostMessage(
 HWND hWnd,        // handle of destination window
 UINT Msg,         // message to post
 WPARAM wParam,    // first message parameter
 LPARAM lParam     // second message parameter



Identifies the window whose window procedure is to receive the message. Two
values have special meanings:



The message is posted to all top-level windows in the system, including
disabled or invisible unowned windows, overlapped windows, and pop-up
windows. The message is not posted to child windows.



The function behaves like a call to PostThreadMessage with the dwThreadId
parameter set to the identifier of the current thread.


Specifies the message to be posted.


Specifies additional message-specific information.


Specifies C

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error
information, call GetLastError.


Applications that need to communicate using HWND_BROADCAST should use the
RegisterWindowMessage function to obtain a unique message for
inter-application communication.

If you send a message in the range below WM_USER to the asynchronous
message functions (PostMessage, SendNotifyMessage, and
SendMessageCallback), make sure that the message parameters do not include
pointers. Otherwise, the functions will return before the receiving thread
has had a chance to process the messageand the sender will free the memory
before it is used.