• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 410
  • Last Modified:

Help DLL PostMessage ???

Hi,

   I have write a DLL which is staticly linking to the main application and I want to post a message to the main window from the DLL by using PostMessage(...) to indicate the progress of work being done.
   
   However,there 's no success after a number of trials.

   Or what else should I do in order to achieve this purpose???

   Could anyone kindly tell me what's wrong with it???


Thankyou !
0
surenechan
Asked:
surenechan
  • 2
1 Solution
 
zyqwertCommented:
Your dll (Dynamic Link Library) is staticly linked?  I'll guess that you mean implicitly linked.

You didn't really give enough information to say what exactly your problem is, but here are some good canidates:


1)The DLL doesn't have the HWND of the main window.  You can check this by using a tool like spy to see what the HWND really is, or many other methods.

2)The DLL and the main program aren't using the same message number.  If you defined the message yourself, make sure both the DLL and the main program are using the same header file.  For testing, try using a predefined message number (WM_USER, or WM_NULL are some good choices).

3) You don't return to your GetMessaageLoop.  This will happen if either the DLL or the Main Program is in a continuous loop and not calling PeekMessage or GetMessage.

If this is the case, and you don't have multiple threads involved, you can use SendMessage.  SendMessage will always transfer control to the Main Window WndProc.

4) You don't have a handler for this particular message.  In which case you just need to add one to your message map.

My guess would be #3.
0
 
surenechanAuthor Commented:
Thank you !!!
It work now after I use SendMessage instead of PostMessage .

0
 
zyqwertCommented:
So now we know the answer was #3.  Glad all is well.

0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now