[Python-Dev] Still looking for volunteer to run Windows buildbot

Mark Hammond mhammond at skippinet.com.au
Tue Mar 14 02:30:15 CET 2006


> Roger on python-win32 had an answer which works for me:
>
>     [Roger Upole wrote]
>     > WMI can list sound devices.
>     >
>     > import win32com.client
>     > wmi=win32com.client.GetObject('winmgmts:')
>     > scs=wmi.InstancesOf('win32_sounddevice')
>     > for sc in scs:
>     >   print  sc.Properties_('Name'), sc.Properties_('Status')
>
> However, that requires PyWin32 so can't really use that for
> test_winsound.py. My understanding of ctypes is that it can NOT replace
> win32com, but I'd be happy to be wrong here. Thomas?

Maybe the following VBScript "port" of the above will work:

-- check_soundcard.vbs
rem Check for a working sound-card - exit with 0 if OK, 1 otherwise.
set wmi = GetObject("winmgmts:")
set scs = wmi.InstancesOf("win32_sounddevice")
for each sc in scs
    set status = sc.Properties_("Status")
    wscript.Echo(sc.Properties_("Name") + "/" + status)
    if status = "OK" then
        wscript.Quit 0 rem normal exit
    end if
next
rem No sound card found - exit with status code of 1
wscript.Quit 1

-- eof

Running "cscript.exe check_soundcard.vbs" and checking the return code
should work.  cscript.exe comes with all modern Windows variants, and
although there may be ways to install Windows without it, I think we can
safely assume it exists for these purposes.

Cheers,

Mark



More information about the Python-Dev mailing list