Question: I have a C# WPF app that needs to call an unmanaged C++ DLL and get a simple event notification from it. The DLL will wait for a keyboard event that can't be seen in .NET (VK_MEDIA_PLAY_PAUSE while the app doesn't have the input focus), and notify the main app. I've found an example for using semaphores for cross-process syncing, but that seems like overkill. Likewise, using named pipes, COM, sockets, or p/invoke seems like more than I should need.
Specifically, I'll be starting a worked thread in the WPF app that will wait for the keyboard event to be signaled, and then notify the main UI thread to do something once it has.