Войти

Показать полную графическую версию : Скрипт для отключения аудио-карты Windows 7


Scumma
27-06-2013, 18:35
Доброго времени суток.
Есть проблема которую очень бы хотелось решить. В частности возможность отключения и включения аудио-карты в Windows 7 путем запуска одного файла. Почитал тему http://forum.oszone.net/thread-154266.html, однако адаптировать под свои нужды не удалось в силу отсутствия специфических знаний.
Основное требование - что бы процедура отключения аудио-карты не требовала перезапуска системы. Действие может быть похожим на отключение устройства в меню "устройства воспроизведения".

Iska
27-06-2013, 20:43
однако адаптировать под свои нужды не удалось »
1. Что Вы пытались адаптировать?
2. Где код?

sunnykey
29-06-2013, 18:25
#Скачать программу devcon с http://support.microsoft.com/kb/311272
$devcon="C:\devcon.exe"
Get-WmiObject Win32_SoundDevice | Format-Table Name,Manufacturer,DeviceId,Status
$input=Read-Host "Выберете порядковый номер звуковой карты"
$index=[int]$input-1
$input=Read-Host "Выберете действие (0 - отключить, 1 - включить)"
$action=[int]$input
$CurSound=(Get-WmiObject Win32_SoundDevice | Select-Object -Index $index)
if ($action -eq 0) {
$devconArgs=$devcon+" disable "+'"@'+$CurSound.DeviceId+'"'
$echo="Отключено устройство "+$CurSound.Manufacturer+" "+$CurSound.Name
} else {
$devconArgs=$devcon+" enable "+'"@'+$CurSound.DeviceId+'"'
$echo="Включено устройство "+$CurSound.Manufacturer+" "+$CurSound.Name
}
cmd.exe /c $devconArgs | Out-Null
$echo
Правда не всегда отключает без перезагрузки. Или как вариант запустить это
rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl,,0
и сделать два щелчка мышью

Sphinx114
29-06-2013, 19:08
@echo off
for /f "skip=1 delims=\" %%i in ('wmic sounddev get deviceid') do (
devcon status "%%i*" | findstr run && devcon disable "%%i*" && exit
devcon enable "%%i*"
)




© OSzone.net 2001-2012