As stated in the title - currently I have two applications. One is .NET, winforms and the second one is native C++. Both work together and must communicate (C++ to .NET and .NET to C++), the .NET application is started from C++ application. Currently the communication is done by writing the data to a file and sending postmessage to inform C++ application that the data was written. Although it works, I don't think that this is the best way doing this. Because of that I would like to ask you, what would you recommend as the best way. I am considering writing an CLI wrapper around .NET to bind it in C++. Are there any drawbacks of using such wrapper in comparison to writing the data to files?
--------Update--------
I've forgotten to add that both applications always work on the same machine. The solution should work on Windows xp, win7, win8
-------Conclusion------
Thanks a lot for your answers, all of them are very helpful. Good overview about differences between interprocess communication technologies presents the web site provided in the answer of Furkan Omay - offically supported Inter-Process Communications methods on Microsoft Windows. However there seems to be an issue with antivirus programs like on this web site from McAfee. In some cases it can be a huge problem. According to using C++/Cli I like the answer from Drax, thanks. I also don't see any disadvantages of using a wrapper. A good tutorial is here.