Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Programmatically enable/disable a playback device in Windows 7

by thmsdrew (Scribe)
on Nov 09, 2012 at 02:27 UTC ( #1003046=note: print w/ replies, xml ) Need Help??


in reply to Programmatically enable/disable a playback device in Windows 7

What I am thinking of doing is the following:

#!/usr/bin/perl use strict; use warnings; use Win32::GuiTest qw(:ALL); system "control mmsys.cpl"; sleep 1; my @sound = FindWindowLike(undef, "Sound"); # Get the list that contains the playback devices my @list = FindWindowLike($sound[0], "", "SysListView32"); my ($left, $top, $right, $bottom) = GetWindowRect($list[0]); # 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); SendMouse("{RightClick}"); SendKeys("{E}");

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?


Comment on Re: Programmatically enable/disable a playback device in Windows 7
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1003046]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (4)
As of 2015-07-02 03:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (27 votes), past polls