How to detect when an audio device has been unplugged (windows vista) in C#

c#

Solution

In unmanaged code you would listen for WM_DEVICECHANGE in your top level windowproc.

That appears to be the only way to do it in managed code as well.

Problem

Id like to know how to detect when a device has been plugged in, and unplugged, and then mute / unmute the laptops internal speakers

Original source