Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
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 having an uproarious good time at the Monastery: (5)
As of 2014-09-17 23:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (100 votes), past polls