
Estou executando o Windows 7 x64 e instalei recentemente umMouse Corsair Scimitar ProeiCue3.5.111para controlar os recursos especiais do mouse, como botões laterais programáveis.
Estou tentando mapear para o botão 8 do mouse a função de alternar meu dispositivo de áudio padrão no Painel de controle de som do Windows usando um aplicativo de terceiros,nircmd. O executável nircmd (nircmd.exe) é referenciado em um arquivo em lote, 'audioswitch.bat', que deve ser iniciado a partir do iCue.
No entanto, o arquivo em lote nunca é iniciado quando pressiono o botão do mouse, mesmo que eu tenha selecionado o arquivo em lote para ser iniciado no iCue:
Talvez valha a pena ressaltar que não tenho problemas para executar arquivos .exe diretamente via iCue. Mas iniciar arquivos em lote parece não funcionar. Gostaria de saber se alguém tem alguma ideia de como posso resolver esse problema. Agradeço qualquer contribuição.
Responder1
Descobri que o iCue parece iniciar o arquivo em lote a partir do local do iCue.exe, portanto, ele não consegue encontrar o nircmd, mesmo que o arquivo em lote que está executando esteja no mesmo diretório que o nircmd.exe. Para corrigir isso, você pode adicionar nircmd à variável PATH do sistema ou alterar seu arquivo em lote para algo assim:
"C:\pathtoexecutable\nircmd" setdefaultsounddevice "MoBo" 1
"C:\pathtoexecutable\nircmd" setdefaultsounddevice "MoBo" 2
Responder2
Tentar:
c:\windows\system32\cmd.exe /c “c:\thepathto\your.bat”
Verifique novamente onde o cmd.exe foi salvo. Pode serc:\windows
Deve ser fácil de descobrir. Verifique a bandeira também. Mas o que você está dizendo é: usando o processador de comandos que lê morcegos, execute este arquivo bat e feche quando terminar (/c) /k significa manter. Mas você pode executar a partir da linha de comando cmd.exe /?
e ser lembrado dos sinalizadores.
Isso deve resolver o problema porque está executando um executável nativo que executa o script. O morcego só tem significado porque você usa o shell do Windows para abri-lo normalmente. Por exemplo. Clicando nele. Dentro do programa pode operar independentemente do shell, muitos fazem isso, e isso está além do escopo aqui.