> 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 _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com