No it's absolutely not clear what you want to do. What was the question you asked the creator of the DLL that got him to reply that you needed to use WM_COPYDATA? What do you expect to happen when you send that message? What are the desired results? You have told us nothing of what you really want to do, all you've said is that "I was told to use WM_COPYDATA how do I send that to a DLL" and the answer to that question is: You don't! You send messages to a window or a control but not to a file.