in reply to Programmatically enable/disable a playback device in Windows 7
What I am thinking of doing is the following:
use Win32::GuiTest qw(:ALL);
system "control mmsys.cpl";
my @sound = FindWindowLike(undef, "Sound");
# Get the list that contains the playback devices
my @list = FindWindowLike($sound, "", "SysListView32");
my ($left, $top, $right, $bottom) = GetWindowRect($list);
# Move the mouse within the bounds of that list, clicking
# on stuff. You can type "E" to enable the device once you
# right-click, or "D" to disable it.
MouseMoveAbsPix($right - 10, $top + 5);
It's limited in that I have to trial-and-error to find the right pixels to click. As far as I'm concerned, there's no way to find the coordinates of the individual list items, so I think something like this will have to do. Any thoughts?