Ativar / desativar um adaptador de rede com um atalho de teclado


9

Comecei tentando usar um atalho para exibir a janela Status da conexão local na área de trabalho, criando um atalho e atribuindo-o Ctrl+ ,(vírgula).

O Windows não gostou disso, acrescentou Alt, que acabou sendo Ctrl+ Alt++ ,.

Como não consegui descobrir uma maneira de eliminar Altcomo parte das teclas de atalho, agora estou tentando uma estratégia diferente e ela não está funcionando. Minha última tentativa é usar o AutoHotkey com o seguinte comando:

^,::Run, explorer ::{BA126ADB-2166-11D1-B1D0-00805FC1270E}

Qual é o número do destino do atalho, mas não abrirá a janela.


Eu não entendo sua pergunta. Você pode postar seu script AutoHotkey? O Windows ou a AutoHotkey não devem ser enviados [Alt]toda vez que você pressiona [Ctrl], a menos que você escreva dessa maneira.
— iglvzx

Claro, criei um atalho para as Propriedades da conexão de rede local e atribuí as seguintes teclas de atalho; CTRL + ALT +,
— Carlos

Não sabia que acertar o retorno me acabaria. Enfim, meu desejo é ter CTRL +, ser minhas teclas de atalho, mas quando você seleciona CTRL como parte de suas teclas de atalho no Windows, ele adiciona automaticamente o ALT para que eu acabe com CTRL + ALT + e quero acabar com ALT e apenas use CTRL +, - isso explica melhor?
— Carlos

onde você conseguiu esse GUID? Ele não abre "Local Area Connection"
— iglvzx 24/03

Carlos, não quero decepcioná-lo, por isso vou elaborar uma solução detalhada e fácil de seguir para você. Não posso trabalhar nisso agora, mas devo ter tempo amanhã depois das 12:00 do Pacífico.
— 23412 iglvzx

Respostas:


12

Vou listar as etapas manuais necessárias para ativar ou desativar rapidamente um adaptador de rede. Depois, traduzirei essas etapas no AutoHotkey .


À mão:

  1. Abra Conexões de Rede na linha de comando.

    explorer ::{7007ACC7-3202-11D1-AAD2-00805FC1270E}
    

    Conexões de rede

  2. Quando a janela estiver ativa, pressione Space para definir o foco na lista de adaptadores.

    Lista

  3. Se o adaptador que você deseja ativar / desativar estiver atualmente selecionado (ou seja, o 1º na lista), pule para a Etapa 5 .

  4. Se o adaptador não estiver selecionado, pressione Right até que seja selecionado. Por exemplo, pressione Right 1 vez se o adaptador for o 2º na lista, 2 vezes se for o 3º , etc.

    2º

  5. Clique com o botão direito do mouse no adaptador e pressione Down para destacar a opção Enableou Disable.

    desabilitar

    habilitar

  6. Pressione Enter para Enableou Disable.

  7. Feche as conexões de rede.


Autohotkey:

Usando o atalho de teclado Ctrl+,

^,::

   ;1.
   Run, explorer ::{7007ACC7-3202-11D1-AAD2-00805FC1270E}

   ;2.
   WinWaitActive, Network Connections
   Send, {Space}

   ;3. & 4.
   ;If the adapter is not the 1st, navigate to it.
   ;For example, without the comment (semi-colon):
   ;    Send, {Right 1}
   ;if it is the 2nd adapter.
   ;    Send, {Right 2}
   ;if it is the 3rd, etc.

   ;5.
   Send, {AppsKey}
   Sleep, 250 ;adjust as needed
   Send, {Down}

   ;6.
   Send, {Enter}

   ;7.
   WinClose, Network Connections

   return

Obrigado por responder e recebi a mensagem de não postar a mesma pergunta duas vezes. Estou saindo para uma reunião agora, mas quero esclarecer uma coisa, então voltarei a você um pouco mais tarde. Obrigado Carlos
— Carlos

O atalho acabou na pasta "Programas" e não sei como inserir o comando. Pensei em acabar com a ideia do atalho e ir diretamente ao programa que quero executar, que é a Conexão Local, então escrevi esse script, mas não funciona;
— Carlos

; Isto é para abrir minha conexão de linha de rede local - não está funcionando ^, :: Run, "Painel de Controle \ Rede e Internet \ Conexões de Rede \ Conexão de Área Local" Retornar
— Carlos

Seu código não é bom. Os caminhos no painel de controle não são iguais aos caminhos no sistema de arquivos / Windows Explorer. Veja minha resposta atualizada. :)
— iglvzx

2
O comando que você me deu abre a Conexão de Rede como você disse, mas estou tentando ir um pouco mais longe e abrir a janela LOCAL AREA CONNECTION STATUS para que eu possa Habilitar / Desabilitar a conexão. - talvez eu não tenha me deixado claro. Reescrevi a pergunta inicial para esclarecimentos. Espero que seja o que você queria.
— Carlos

6

Basta ir para a tela onde o ícone do adaptador está localizado. Clique com o botão direito e crie um atalho (ele não permitirá adicionar atalhos a essa janela, mas permitirá que seja criado na área de trabalho). Quando você deseja ativar ou desativar o adaptador, clique com o botão direito do mouse no ícone na área de trabalho e clique em ativar ou desativar.


1
A "tela onde o ícone do adaptador está localizado" neste caso é Rede e Internet \ Conexões de Rede. Abra o Centro de Rede e Compartilhamento e clique em "Alterar configurações do adaptador" no painel esquerdo.
— 21715 Shane

Se há uma coisa que aprendi neste site e em outros, não siga a resposta aceita ou a maioria dos votos positivos, sempre verifique as últimas respostas, pois elas provavelmente são as mais fáceis e as melhores.
— killjoy

4

Se você deseja uma maneira fácil de ativar ou desativar sua NIC (ou outro dispositivo), que ignora o Painel de Controle, o Gerenciador de Dispositivos e outras janelas, é possível fazer isso com um arquivo em lotes:

  1. Obtenha uma cópia do utilitário DevCon da Microsoft

  2. Crie e salve o seguinte arquivo em lotes (por exemplo, como ToggleNIC.bat)

    @echo off
    if (% 1) == (+) deve ativar
    if (% 1) == (-) deve desativar
    ir para: eof
    :: Substitua o ID do dispositivo ("VEN_1234 & DEV_5678" no exemplo) pelo da sua própria NIC. :: Você pode encontrá-lo com o comando "devcon find PCI *", procurando o nome da sua NIC.
    :: Quando você localizar o ID do seu dispositivo, insira apenas até o "DEV"; isso deve ser suficiente para identificar exclusivamente o dispositivo. :: Deixe o "SUBSYS" e as partes posteriores da string desligados, caso contrário pode não funcionar.
    :habilitar devcon enable "PCI \ VEN_1234 & DEV_5678" ir para: eof
    : desativar devcon desativar "PCI \ VEN_1234 & DEV_5678" ir para: eof

  3. Crie dois atalhos para o arquivo em lotes (por exemplo, EnableNIC.lnke DisableNIC.lnk), um especificando o campo Destino como C:\…\ToggleNIC.bat +e para o outro, C:\…\ToggleNIC.bat -(é claro, substitua-o …pelo caminho para o arquivo em lotes)

  4. Defina uma tecla de atalho na caixa de diálogo Propriedades para cada atalho - Ctrl+Alt+Shift+Num+e Ctrl+Alt+Shift+Num-pareça bons, lógicos.

    • (Há uma razão Explorer tenta evitar atalhos simples da forma Ctrl+Key, Alt+Keye Shift+Key;. Porque aqueles são normalmente utilizados em programas para as tarefas diárias, então usá-los como teclas de atalho shell causaria um problema sem fim Mas, se você realmente precisa de um sem Alt, você pode hackear o .lnkarquivo manualmente ou mais facilmente, basta usar um programa de macro / tecla de atalho para criar uma tarefa para executar os arquivos em lote com a tecla de atalho que desejar.)

  5. Como alternativa, você pode colocar o arquivo em lotes em algum lugar do seu PATH e simplesmente alternar a NIC através do menu Iniciar ou da caixa de diálogo Executar ; por exemplo Win+R,togglenic +


Você também pode fazer com que o arquivo em lote alterne literalmente a NIC (ative-a se estiver desabilitada no momento ou desabilite-a se estiver ativada), mas isso será um pouco mais envolvido e provavelmente não será necessário em geral.


Há muito aqui, mas vou imprimi-lo e revisá-lo para ver se consigo fazer tudo isso. Por enquanto, se você não se importa, responda-me uma pergunta; usando a Autohotkey, como mostro um comando que significa um clique duplo? Eu consegui fazer tudo o que preciso e poderia clicar duas vezes manualmente, se necessário, mas se houver uma maneira de terminar o script com isso, seria a cereja no topo do bolo. Obrigado
— Carlos

Não sei dizer o que você está perguntando. Você possui um script AHK que abre a janela Conexões de Rede e emula o pressionamento de tecla para navegar até a NIC e alterná-la? Para que serve o clique duplo? O que você quer dizer com "mostrar um comando"?
— 26412 Synetech

@Carlos Meu script não funcionou? Se o item que você deseja clicar duas vezes tiver foco (ou seja, realçado em azul ou com uma caixa pontilhada), poderá enviar {Enter} . Caso contrário, você pode usar o comando Clique para simular um clique do mouse em um local específico.
— iglvzx

Seu script funcionou bem. Estou trabalhando em um script diferente usando alguns dos comandos que você usou no problema anterior e o fiz funcionar. Tudo o que quero fazer é finalizar o script com um clique duplo para iniciar a abertura de uma janela que atualmente estou executando manualmente. Vou tentar sua sugestão de usar o Send, {Enter} e ver se isso funciona. Caso contrário, tentarei enviar {clique}.
— Carlos
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.