Включить / отключить сетевой адаптер с помощью сочетания клавиш


9

Я начал пытаться использовать ярлык для отображения окна « Состояние подключения по локальной сети» на рабочем столе, создав ярлык и назначив ему Ctrl+ ,(запятая).

Windows не понравилась, поэтому добавила Alt, что в итоге оказалось Ctrl+ Alt++ ,.

Поскольку я не мог придумать способ устранения Altкак часть сочетаний клавиш, я сейчас пробую другую стратегию, и она не работает. Моя последняя попытка - использовать AutoHotkey со следующей командой:

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

Это и есть целевой номер ярлыка, но он не откроет окно.


Я не понимаю твой вопрос. Можете ли вы опубликовать свой скрипт AutoHotkey? Windows или AutoHotkey не должны отправлять [Alt]каждый раз, когда вы нажимаете [Ctrl], если вы не пишете это так.
iglvzx

Конечно, я сделал ярлык для свойств подключения к локальной сети и назначил следующие горячие клавиши для него; CTRL + ALT +,
Карлос

Не понимал, что удар по возвращению прикончит меня. В любом случае, я хочу иметь CTRL +, быть моими горячими клавишами, но когда вы выбираете CTRL как часть своих горячих клавиш в Windows, он автоматически добавляет ALT, так что я получаю CTRL + ALT +, и я хочу покончить с ALT и просто используйте CTRL +, - это объясняет это лучше?
Карлос

где вы взяли этот GUID? Он не открывает «Подключение по локальной сети»
iglvzx

Карлос, я не хочу вас подводить, поэтому я разработаю для вас подробное и простое решение. Я не могу работать над этим сейчас, но у меня должно быть время завтра после 12:00 по Тихоокеанскому времени.
iglvzx

Ответы:


12

Я собираюсь перечислить шаги, необходимые вручную, чтобы быстро включить или отключить сетевой адаптер. Затем я переведу эти шаги в AutoHotkey .


Рукой:

  1. Откройте Сетевые подключения из командной строки.

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

    Сетевые соединения

  2. Как только окно станет активным, нажмите, Space чтобы установить фокус на список адаптеров.

    список

  3. Если адаптер, который вы хотите включить / отключить, в настоящее время выбран (т. Е. 1-й в списке), перейдите к шагу # 5 .

  4. Если адаптер не выбран, нажимайте, Right пока он не будет выбран. Например, нажмите Right 1 раз, если адаптер занимает 2-е место в списке, 2 раза, если он 3-й , и т. Д.

    второй

  5. Щелкните правой кнопкой мыши адаптер и нажмите, Down чтобы выделить параметр Enableили Disable.

    отключить

    включить

  6. Нажмите Enter на Enableили Disable.

  7. Закройте сетевые подключения.


AutoHotkey:

Использование сочетания клавиш 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

Спасибо, что ответили, и я получил сообщение не публиковать один и тот же вопрос дважды. Я сейчас уезжаю на встречу, но хочу кое-что прояснить, поэтому я вернусь к вам чуть позже. Спасибо Карлос
Карлос

Ярлык попал в папку «Программы», и я не знаю, как вставить команду. Я думал о том, чтобы покончить с идеей ярлыков, и просто перейти непосредственно к программе, которую я хочу запустить - локальной связи, поэтому я написал этот скрипт, но он не работает;
Карлос

; Это чтобы открыть мое подключение к локальной сети - не работает ^, :: Выполнить, «Панель управления \ Сеть и Интернет \ Сетевые подключения \ Подключение по локальной сети». Возврат
Карлос

Ваш код не годится. Пути в панели управления не совпадают с путями в файловой системе / проводнике Windows. Смотрите мой обновленный мой ответ. :)
iglvzx

2
Команда, которую вы мне дали, открывает сетевое соединение, как вы сказали, но я пытаюсь пойти дальше и открыть окно СТАТУС СОЕДИНЕНИЯ МЕСТНОГО РАЙОНА, чтобы я мог включить / отключить соединение. - может быть, я не прояснил себя. Я переписал первоначальный вопрос для уточнения. Надеюсь, это то, что вы хотели.
Карлос

6

Просто перейдите на экран, где находится значок адаптера. Щелкните правой кнопкой мыши и создайте ярлык (он не позволит добавить ярлык в это окно, но позволит создать его на рабочем столе). Если вы хотите включить или отключить адаптер, просто щелкните правой кнопкой мыши значок на рабочем столе и выберите включить или отключить.


1
«Экран, на котором находится значок адаптера», в данном случае - «Сеть и Интернет \ Сетевые подключения». Откройте Центр управления сетями и общим доступом, а затем нажмите «Изменить настройки адаптера» на левой панели.
Шейн

Если есть что-то, чему я научился на этом сайте, и другие, не переходите к принятым ответам или большинству голосов, всегда проверяйте последние ответы, потому что они, скорее всего, самые простые и лучшие.
killjoy

4

Если вам нужен простой способ включить или отключить сетевой адаптер (или другое устройство в этом отношении), обходящий панель управления, диспетчер устройств и другие окна, вы можете сделать это с помощью командного файла:

  1. Получить копию утилиты DevCon от Microsoft

  2. Создайте и сохраните следующий пакетный файл (например, как ToggleNIC.bat)

    @ эхо выключено
    if (% 1) == (+) - включить
    если (% 1) == (-) отключить
    goto: eof
    :: Замените идентификатор устройства (в данном примере «VEN_1234 & DEV_5678») идентификатором вашей собственной сетевой карты. :: Вы можете найти его с помощью команды "devcon find PCI *", ища название вашей сетевой карты.
    :: Когда вы найдете свой идентификатор устройства, введите только до "DEV"; этого должно быть достаточно для однозначной идентификации устройства. :: Оставьте «SUBSYS» и более поздние части строки отключенными, иначе это может не сработать.
    :включить devcon enable "PCI \ VEN_1234 & DEV_5678" goto: eof
    : отключить devcon отключить "PCI \ VEN_1234 & DEV_5678" goto: eof

  3. Создайте два ярлыка для командного файла (например, EnableNIC.lnkи DisableNIC.lnk), в одном указав поле « Цель», как C:\…\ToggleNIC.bat +и для другого C:\…\ToggleNIC.bat -(конечно, замените путь на путь к командному файлу)

  4. Установите горячие клавиши в диалоговом окне « Свойства » для каждого ярлыка - Ctrl+Alt+Shift+Num+и Ctrl+Alt+Shift+Num-выглядите как хорошие, логичные.

    • (Есть причина, по которой Explorer пытается предотвратить простые ярлыки в форме Ctrl+Key, Alt+Keyи Shift+Key; потому что они обычно используются в программах для повседневных задач, поэтому использование их в качестве горячих клавиш оболочки не вызовет никаких проблем. Но, если вам действительно нужно это без Alt, Вы можете вручную взломать .lnkфайл или проще, просто используйте программу для макросов / горячих клавиш, чтобы создать задачу для запуска командных файлов с любой горячей клавишей, которая вам нравится.)

  5. Кроме того, вы можете поместить пакетный файл где-нибудь в вашей переменной PATH, а затем просто переключить сетевой адаптер через меню « Пуск» или диалоговое окно « Выполнить »; например Win+R,togglenic +


Вы также можете сделать так, чтобы командный файл буквально переключал сетевой адаптер (включите его, если он в данный момент отключен, или отключите, если он включен в данный момент), но это будет немного сложнее и, вероятно, вообще не нужно.


Здесь много всего, но я распечатаю его и рассмотрю, чтобы посмотреть, смогу ли я все это сделать. Пока, если вы не возражаете, пожалуйста, ответьте мне на один вопрос; используя Autohotkey, как мне показать команду, которая означает двойной щелчок? Мне удалось сделать все, что мне нужно, и я мог бы вручную дважды щелкнуть по нему, если это необходимо, но если есть способ, которым я мог бы завершить сценарий, это было бы глазурью на торте. Спасибо
Карлос

Я не могу сказать, что вы спрашиваете. У вас есть скрипт AHK, который открывает окно « Сетевые подключения» и эмулирует нажатие клавиши для перехода к сетевому адаптеру и его переключения? Что такое двойной щелчок для / на? Что вы подразумеваете под «показать команду»?
Synetech

@Carlos Мой сценарий не работал? Если элемент, который вы хотите дважды щелкнуть, имеет фокус (то есть выделен синим цветом или пунктирной рамкой), то вы можете отправить {Enter} . В противном случае вы можете использовать команду Click для имитации щелчка мышью в определенном месте.
iglvzx

Ваш сценарий работал нормально. Я работаю над другим сценарием, используя некоторые команды, которые вы использовали в предыдущей задаче, и у меня все получилось. Все, что я хочу сделать, - это завершить сценарий двойным щелчком мыши, чтобы инициировать открытие окна, которое я сейчас выполняю вручную. Я собираюсь попробовать ваше предложение об использовании Send, {Enter} и посмотреть, работает ли это. Если нет, я попробую отправить {клик}.
Карлос
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.