Win32 registry and file tracing tools are not reliable for this, since part of what's happening is after thunking to 16-bit code.
Trying to figure out what the applet was doing and doing it by hand wasn't the right approach. It was simple enough on NT/2K, but quite complicated on 98/ME.
The right thing was to figure out how it was making the change. Then it's simple again.
where the device number is from the waveOutGetNumDevs space. This code works on both systems. Another interesting thing is that these numbers change on WinME to keep the default device 0, which means that with two sound cards, you're always selecting 1 to change.
waveOutMessage((HWAVEOUT)WAVE_MAPPER, DRVM_MAPPER+0x16, dev, 0);
Anyway, as I guessed, this'll need to be a new plug-in. I'll see about throwing it together some night this week.
<font size=-1>[ This Message was edited by: MMcM on 2001-05-22 04:31 ]</font>