É possível alternar dispositivos desativados / habilitados da Linha de Comando, simlar para o Gerenciador de Dispositivos?

1

Eu gosto de jogar Fallout 3, que é muito bugs normalmente, e ainda mais quando adiciono alguns mods. Escusado será dizer que cai muito. Eu posso lidar com as falhas, o único problema é quando a minha placa de som é capturada em uma reprodução sem fim em estilo de loop.

Eu posso interromper o áudio de loop ligando e desligando o dispositivo no Gerenciador de Dispositivos (Desabilitar / Habilitar), embora seja chato ter que entrar no Gerenciador de Dispositivos o tempo todo. Então, eu estou esperando para semi-automatizar o processo.

Existe uma maneira de ativar e desativar um dispositivo usando um script em lote? Dessa forma, posso colocá-lo na área de trabalho e executá-lo quando minha placa de som começa a fazer loop.

    
por Robotnik 26.07.2014 / 12:06

2 respostas

1

Graças ao link fornecido pelo e31415, consegui uma solução para o McGyver usando o utilitário Console de dispositivos (DevCon).

Eu copiei as instruções de como obter a ferramenta de esta resposta :

DevCon is a command-line tool that displays detailed information about devices, and lets you search for and manipulate devices from the command line. DevCon enables, disables, installs, configures, and removes devices on the local computer and displays detailed information about devices on local and remote computers.

  1. Download the appropriate .cab package depending on the operating system:

    • devcon x86 (32-bit)
    • devcon x64 (64-bit)

  2. Open the .cab archive and extract the file named fil[some letters and numbers]. It should be about 80 KB.

  3. Rename it to devcon.exe.

Usando essa ferramenta, consegui descobrir qual era a ID de hardware da minha placa de som e usá-la para ativar e desativar o dispositivo. Como eu simplesmente preciso alternar o dispositivo, o arquivo My Batch simplesmente fica assim:

devcon.exe disable "PCI\VEN_13F6&DEV_8788&SUBSYS_85221043"
devcon.exe enable "PCI\VEN_13F6&DEV_8788&SUBSYS_85221043"

Essa longa string é o ID do dispositivo de hardware. Para encontrar isso, usei o comando findall do DevCon, canalizando a saída para um arquivo de texto para facilitar a pesquisa.

devcon.exe findall * > C:\output.txt

Procurando pelo nome do meu dispositivo, copiei a string de que precisava.

Nota: Infelizmente, o lote ainda requer privilégios de administrador para ser executado, mas isso é um pequeno problema (e um eu posso ser capaz de resolver em um estágio posterior ). Mas por enquanto, isso funciona para mim.

    
por 26.07.2014 / 14:18
0


no win10 você pode usar o wmic. Eu prefiro usar o PNPDeviceID na cláusula where. Você pode primeiro consultar o valor exato. wmic path Win32_PnPEntity where "PNPDeviceID like '%VEN%'" e quando você tem, use:

wmic path Win32_PNPEntity where "PNPDeviceID='yourPNPDeviceIDname'" call disable

Encontrei algumas informações muito úteis sobre wmic aqui

    
por 14.11.2017 / 14:57