View Full Version : RegSetValue plugin questions
SteveV
October 13th, 2002, 03:55 PM
I've been trying to change Windows sound playback device using Mike McMahon's RegSetValue plugin. Compared to my previous method of using simulating mouse clicks to change the settings via the Sounds and Multimedia applet, this provides a very clean and easy method--thanks, Mike!
From what I can tell, WinME makes at least two changes to the registry when the sound playback device is changed via the Sounds and Multimedia applet. The values of the following keys are changed:
HKEY_CURRENT_USERSoftwareMicrosoftMultimediaSound MapperPlayback
HKEY_CURRENT_USERSoftwareMicrosoftMultimediaSound MapperUserPlayback
I've created a 2 MultiGroups that allow me to change between two sound cards. Each MultiGroup has 2 Commands that set the values of the key referenced above to the appropriate device. The problem is that although I can see that the changes were made to the registry, the sound cards are not changed until windows is restarted, which while workable, is inconvenient.
So the question is; what other things is the Sounds and Multimedia applet changing in order for those changes to take effect WITHOUT a windows restart.
Thanks -- Steve
<font size=-1>[ This Message was edited by: SteveV on 2001-05-18 19:20 ]</font>
SteveV
October 13th, 2002, 03:55 PM
On 2001-05-22 04:27, MMcM wrote:
...Anyway, as I guessed, this'll need to be a new plug-in. I'll see about throwing it together some night this week.
...looking forward to it!
Thanks -- Steve
SteveV
October 13th, 2002, 03:55 PM
waja,
Thanks for the heads up--I missed the fact that it was released.
MMcM,
Excellent Work!! It works great :smile:
Thanks -- Steve
BSchuler
October 13th, 2002, 03:55 PM
I ran into this same problem with the Windows wallpaper. You can change the reg values for wallpaper, but Windows refuses to recognize them and do any update to the new value.
For me, I found I wallpaper changer that didn't use the registry, and instead used a programming trick (Basically, it made it's own wallpaper for windows overtop the old wallpaper)
But for you, I dunno? Look for a program to do it for you... As this is a known issue for windows.
MMcM
October 13th, 2002, 03:55 PM
Well, some more snooping reveals that another thing the CP applet does is broadcast a registered message "winmm_devicechange". But that too is not enough.
I'll keep delving into this as time permits. I'm just hoping the answer isn't over on the 16-bit side. :???:
The evidence is mounting that, for 9x systems at least, we're gonna need a special Switch Wave Device action.
MMcM
October 13th, 2002, 03:55 PM
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.
waveOutMessage((HWAVEOUT)WAVE_MAPPER, DRVM_MAPPER+0x16, dev, 0);
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.
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>
MMcM
October 13th, 2002, 03:55 PM
I never did test it on Win98SE; I do not have an installation of that handy. When I get a chance, I'll build one and see what I can find out.
SetWaveDev works by itself and supersedes RegSetValue for its specific purpose.
waja
October 13th, 2002, 03:55 PM
MMcM,
I hope you are able to figure this one out. So far, I have not been able to get anywhere. I tried using Regmon.exe and Filemon.exe to see if I could find a dll call that caused a refresh. Nothing was obvious.
waja
October 13th, 2002, 03:55 PM
MMcM,
I have been monitoring this topic and then noticed that in the Download there is a plugin called SetWaveDev. Is SetWaveDev the plugin that you are referring to as the new plug-in for Win98se? I haven't tried it yet, but I will when I get home.
Rick
waja
October 13th, 2002, 03:55 PM
On 2001-05-31 14:18, SteveV wrote:
MMcM,
Excellent Work!! It works great :smile:
Thanks -- Steve
MMcM,
I not able to get SetWaveDev to work in Win98se. Is the 1.0 version only for WinME? I don't have to use both SetRegValue and SetWaveDev together, do I?
Rick
Powered by vBulletin® Version 4.2.0 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.