Habilitar / deshabilitar un adaptador de red con un atajo de teclado

9

Comencé tratando de usar un acceso directo para mostrar la ventana Estado de conexión de área local en mi escritorio creando un acceso directo y asignándole Ctrl+ ,(coma).

A Windows no le gustó eso, por lo que agregó Alt, que terminó siendo Ctrl+ Alt++ ,.

Como no pude encontrar una forma de eliminar Altcomo parte de las teclas de acceso directo, ahora estoy intentando una estrategia diferente y no funciona. Mi último intento es usar AutoHotkey con el siguiente comando:

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

Cuál es el número de destino del acceso directo, pero no abrirá la ventana.

Carlos
fuente
No entiendo tu pregunta. ¿Puedes publicar tu script de AutoHotkey? Windows o AutoHotkey no deberían enviarse [Alt]cada vez que presiona [Ctrl], a menos que lo escriba de esa manera.
iglvzx
Claro, hice un acceso directo para las Propiedades de conexión de Lan y le asigné las siguientes teclas de acceso rápido; CTRL + ALT +,
Carlos
No me di cuenta de que golpear el regreso me acabaría. De todos modos, mi deseo es tener CTRL +, ser mis teclas de acceso rápido, pero cuando selecciona CTRL como parte de sus teclas de acceso rápido en Windows, automáticamente agrega ALT para que termine con CTRL + ALT +, y quiero eliminar ALT y simplemente use CTRL +, ¿eso lo explica mejor?
Carlos
¿de dónde sacaste ese GUID? No abre "Conexión de área local"
iglvzx
Carlos, no quiero decepcionarte, así que idearé una solución detallada y fácil de seguir para ti. No puedo trabajar en eso ahora, pero debería tener tiempo mañana después de las 12:00 del Pacífico.
iglvzx

Respuestas:

12

Voy a enumerar los pasos manuales necesarios para habilitar o deshabilitar rápidamente un adaptador de red. A continuación, voy a traducir estos pasos en AutoHotkey .


Manualmente:

  1. Abra Conexiones de red desde la línea de comando.

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

    Conexiones de red

  2. Una vez que la ventana esté activa, presione Space para establecer el foco en la lista de adaptadores.

    lista

  3. Si el adaptador que desea habilitar / deshabilitar está actualmente seleccionado (es decir, el 1st` de la lista), salte al Paso # 5 .

  4. Si el adaptador no está seleccionado, presione Right hasta que esté seleccionado. Por ejemplo, presione Right 1 vez si el adaptador es el segundo en la lista, 2 veces si es el tercero , etc.

    2do

  5. Haga clic derecho en el adaptador y presione Down para resaltar la opción Enableo Disable.

    inhabilitar

    habilitar

  6. Presione Enter para Enableo Disable.

  7. Cerrar las conexiones de red.


Autohotkey:

Usando el atajo 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
iglvzx
fuente
Gracias por responder y recibí el mensaje de no publicar la misma pregunta dos veces. Me voy a una reunión en este momento, pero quiero aclarar algo, así que me pondré en contacto con usted un poco más tarde. Gracias Carlos
Carlos
El acceso directo terminó en la carpeta "Programas" y no sé cómo insertar el comando. Pensé en deshacerme de la idea de acceso directo todos juntos e ir directamente al programa que quiero ejecutar, que es la Conexión de área local, así que escribí este script pero no funciona;
Carlos
; Esto es para abrir mi conexión de Lan Line - no funciona ^, :: Ejecutar, "Panel de control \ Red e Internet \ Conexiones de red \ Conexión de área local” Volver
Carlos
Tu código no es bueno. Las rutas en el Panel de control no son las mismas que en el sistema de archivos / Explorador de Windows. Ver mi actualizada mi respuesta. :)
iglvzx el
2
El comando que me diste abre la conexión de red como dijiste, pero estoy tratando de ir un paso más allá y abrir la ventana ESTADO DE CONEXIÓN DE ÁREA LOCAL para poder habilitar / deshabilitar la conexión. - Tal vez no me hice claro. Reescribí la pregunta inicial para aclarar. Espero que eso sea lo que querías.
Carlos
6

Simplemente vaya a la pantalla donde se encuentra el icono del adaptador. Haga clic con el botón derecho y cree un acceso directo (no permitirá agregar acceso directo a esa ventana, pero permitirá que se cree en el escritorio). Cuando desee habilitar o deshabilitar el adaptador, simplemente haga clic derecho en el icono de su escritorio y haga clic en habilitar o deshabilitar.

Franco
fuente
1
La "pantalla donde se encuentra el icono del adaptador" en este caso es Red e Internet \ Conexiones de red. Abra el Centro de redes y recursos compartidos y luego haga clic en "Cambiar la configuración del adaptador" en el panel izquierdo.
Shane
Si hay algo que he aprendido en este sitio y en otros, no siga la respuesta aceptada o la mayoría de los votos, siempre verifique las últimas respuestas porque probablemente sean las más fáciles y las mejores.
killjoy
4

Si desea una manera fácil de habilitar o deshabilitar su NIC (u otro dispositivo), sin pasar por el Panel de control, el Administrador de dispositivos y otras ventanas por completo, puede hacerlo con un archivo por lotes:

  1. Obtenga una copia de la utilidad DevCon de Microsoft

  2. Cree y guarde el siguiente archivo por lotes (por ejemplo, como ToggleNIC.bat)

    @echo off
    if (% 1) == (+) goto enable
    if (% 1) == (-) ir a deshabilitar
    ir a: eof
    :: Reemplace la ID del dispositivo ("VEN_1234 y DEV_5678" en el ejemplo) con la de su propia NIC. :: Puede encontrarlo con el comando "devcon find PCI *", buscando el nombre de su NIC.
    :: Cuando localice su ID de dispositivo, ingrese solo hasta el "DEV"; eso debería ser suficiente para identificar de forma exclusiva el dispositivo. :: Deje "SUBSYS" y partes posteriores de la cadena desactivadas, de lo contrario, puede que no funcione
    :habilitar devcon enable "PCI \ VEN_1234 y DEV_5678" ir a: eof
    :inhabilitar devcon deshabilita "PCI \ VEN_1234 y DEV_5678" ir a: eof

  3. Cree dos accesos directos al archivo por lotes (por ejemplo, EnableNIC.lnky DisableNIC.lnk), en uno especificando el campo Destino como C:\…\ToggleNIC.bat +y para el otro C:\…\ToggleNIC.bat -(por supuesto, reemplace el con la ruta al archivo por lotes)

  4. Establezca una tecla de acceso rápido en el cuadro de diálogo Propiedades para cada acceso directo, Ctrl+Alt+Shift+Num+y Ctrl+Alt+Shift+Num-parezca que son buenas y lógicas.

    • (Hay una razón por la que Explorer intenta evitar accesos directos simples al formulario Ctrl+Key, Alt+Keyy Shift+Keyporque normalmente se usan en programas para tareas cotidianas, por lo que usarlos como teclas de acceso rápido de shell no causaría problemas. Sin embargo, si realmente necesita uno sin él Alt, puede hackear manualmente el .lnkarchivo o más fácilmente, solo use un programa de macro / tecla de acceso rápido para crear una tarea para ejecutar los archivos por lotes con cualquier tecla de acceso rápido que desee).

  5. Alternativamente, puede colocar el archivo por lotes en algún lugar de su RUTA, luego simplemente puede alternar la NIC a través del menú Inicio o el cuadro de diálogo Ejecutar ; por ejemplo Win+R,togglenic +


También puede hacerlo para que el archivo por lotes literalmente active la NIC (actívela si está actualmente desactivada o si está actualmente activada), pero eso será un poco más complicado y probablemente no sea necesario en general.

Synetech
fuente
Hay mucho aquí, pero lo imprimiré y lo revisaré para ver si puedo hacer todo eso. Por ahora, si no le importa, responda una pregunta; usando Autohotkey, ¿cómo muestro un comando que significa un doble clic? Me las arreglé para hacer todo lo que necesito y podría hacer doble clic manualmente si fuera necesario, pero si hay una manera de terminar el guión con eso, sería la guinda del pastel. Gracias
Carlos
No puedo decir lo que estás preguntando. ¿Tiene un script AHK que abre la ventana Conexiones de red y emula la pulsación de teclas para navegar a la NIC y alternarla? ¿Para qué sirve hacer doble clic? ¿Qué quieres decir con "mostrar un comando"?
Synetech
@Carlos ¿Mi guión no funcionó? Si el elemento en el que desea hacer doble clic tiene el foco (es decir, resaltado en azul o con un cuadro punteado), puede enviar {Enter} . De lo contrario, puede usar el comando Hacer clic para simular un clic del mouse en una ubicación específica.
iglvzx
Tu guión funcionó bien. Estoy trabajando en un script diferente usando algunos de los comandos que usó en el problema anterior y lo hice funcionar. Todo lo que quiero hacer es terminar el script con un doble clic para iniciar la apertura de una ventana que actualmente estoy haciendo manualmente. Voy a probar su sugerencia de usar Enviar, {Entrar} y ver si eso funciona. De lo contrario, intentaré enviar {click}.
Carlos