Włącz / wyłącz kartę sieciową za pomocą skrótu klawiaturowego

9

Zacząłem od próby użycia skrótu do wyświetlenia okna Statusu połączenia lokalnego na pulpicie, tworząc skrót i przypisując mu Ctrl+ ,(przecinek).

Windowsowi się to nie spodobało, więc dodał Alt, co ostatecznie zakończyło się na Ctrl+ Alt++ ,.

Ponieważ nie mogłem znaleźć sposobu na wyeliminowanie Altw ramach klawiszy skrótu, próbuję teraz innej strategii i to nie działa. Moją ostatnią próbą jest użycie AutoHotkey z następującą komendą:

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

To jest numer docelowy skrótu, ale nie otworzy okna.

Carlos
źródło
Nie rozumiem twojego pytania. Czy możesz opublikować swój skrypt AutoHotkey? Windows lub AutoHotkey nie powinny wysyłać za [Alt]każdym razem, gdy naciśniesz [Ctrl], chyba że napiszesz to w ten sposób.
iglvzx
Jasne, stworzyłem skrót do właściwości połączenia LAN i przypisałem do niego następujące klawisze skrótu; CTRL + ALT +,
Carlos
Nie zdawałem sobie sprawy, że trafienie w powrót by mnie wykończyło. W każdym razie, moim pragnieniem jest mieć CTRL +, być moimi klawiszami skrótu, ale kiedy wybierzesz CTRL jako część swoich skrótów klawiszowych w systemie Windows, to automatycznie doda ALT, więc skończę z CTRL + ALT + i chcę zrezygnować z ALT i po prostu użyj CTRL +, - czy to lepiej to wyjaśnia?
Carlos
skąd masz ten identyfikator GUID? Nie otwiera się „Połączenie lokalne”
iglvzx
Carlos, nie chcę cię zawieść, dlatego opracuję dla ciebie szczegółowe, łatwe do naśladowania rozwiązanie. Nie mogę teraz nad tym pracować, ale jutro powinienem mieć czas po 12:00.
iglvzx

Odpowiedzi:

12

Wymienię ręczne kroki niezbędne do szybkiego włączenia lub wyłączenia karty sieciowej. Następnie przetłumaczę te kroki na AutoHotkey .


Ręcznie:

  1. Otwórz Połączenia sieciowe z wiersza poleceń.

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

    Połączenia sieciowe

  2. Gdy okno jest aktywne, naciśnij, Space aby ustawić fokus na liście adapterów.

    lista

  3. Jeśli adapter, który chcesz włączyć / wyłączyć, jest aktualnie wybrany (tj. 1. na liście), przejdź do kroku # 5 .

  4. Jeśli adapter nie jest wybrany, naciskaj przycisk, Right aż zostanie wybrany. Na przykład naciśnij Right 1 raz, jeśli adapter jest 2. na liście, 2 razy, jeśli jest 3. itd.

    2. miejsce

  5. Kliknij adapter prawym przyciskiem myszy i naciśnij, Down aby podświetlić opcję Enablelub Disable.

    wyłączyć

    włączyć

  6. Naciśnij Enter do Enablelub Disable.

  7. Zamknij połączenia sieciowe.


Autohotkey:

Za pomocą skrótu klawiaturowego 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
źródło
Dziękuję za odpowiedź i dostałem wiadomość, że nie opublikowałem dwukrotnie tego samego pytania. Wychodzę teraz na spotkanie, ale chcę coś wyjaśnić, więc wrócę do ciebie później. Dzięki Carlos
Carlos
Skrót znalazł się w folderze „Programy” i nie wiem, jak wstawić polecenie. Pomyślałem o tym, aby całkowicie zrezygnować z idei skrótów i przejść bezpośrednio do programu, który chcę uruchomić, którym jest połączenie lokalne, więc napisałem ten skrypt, ale to nie działa;
Carlos
; To jest, aby otworzyć moje połączenie z siecią LAN - nie działa ^, :: Uruchom, „Panel sterowania \ Sieć i Internet \ Połączenia sieciowe \ Połączenie lokalne” Powrót
Carlos
Twój kod nie jest dobry. Ścieżki w Panelu sterowania nie są takie same jak ścieżki w systemie plików / Eksploratorze Windows. Zobacz moją zaktualizowaną odpowiedź. :)
iglvzx
2
Polecenie, które mi dałeś, otwiera połączenie sieciowe, tak jak powiedziałeś, ale próbuję pójść o krok dalej i otworzyć okno STATUS POŁĄCZENIA OBSZARU LOKALNEGO, aby móc włączyć / wyłączyć połączenie. - może nie wyraziłem się jasno. Ponownie napisałem wstępne pytanie w celu wyjaśnienia. Mam nadzieję, że tego właśnie chciałeś.
Carlos
6

Wystarczy przejść do ekranu, na którym znajduje się ikona adaptera. Kliknij prawym przyciskiem myszy i utwórz skrót (nie pozwoli dodać skrótu do tego okna, ale pozwoli na utworzenie go na pulpicie). Aby włączyć lub wyłączyć adapter, kliknij prawym przyciskiem myszy ikonę na pulpicie, a następnie kliknij opcję włącz lub wyłącz.

Szczery
źródło
1
„Ekran, na którym znajduje się ikona adaptera” w tym przypadku to Sieć i Internet \ Połączenia sieciowe. Otwórz Centrum sieci i udostępniania, a następnie kliknij „Zmień ustawienia karty” w lewym okienku.
Shane
Jeśli jest jedna rzecz, której nauczyłem się na tej stronie i innych, nie przechodź przez zaakceptowaną odpowiedź lub większość pozytywnych opinii, zawsze sprawdzaj ostatnie odpowiedzi, ponieważ najprawdopodobniej są one najłatwiejsze i najlepsze.
killjoy
4

Jeśli chcesz w łatwy sposób włączyć lub wyłączyć kartę sieciową (lub inne urządzenie w tym zakresie), omijając Panel sterowania, Menedżera urządzeń i inne okna, możesz to zrobić za pomocą pliku wsadowego:

  1. Uzyskaj kopię narzędzia DevCon firmy Microsoft

  2. Utwórz i zapisz następujący plik wsadowy (np. As ToggleNIC.bat)

    @echo wyłączone
    if (% 1) == (+) goto enable
    if (% 1) == (-) nie można wyłączyć
    goto: eof
    :: Zastąp identyfikator urządzenia (w tym przykładzie „VEN_1234 i DEV_5678”) identyfikatorem własnej karty sieciowej. :: Można go znaleźć za pomocą polecenia „devcon find PCI *”, szukając nazwy swojej karty sieciowej.
    :: Po zlokalizowaniu identyfikatora urządzenia wpisz tylko „DEV”; powinno to wystarczyć do jednoznacznej identyfikacji urządzenia. :: Pozostaw „SUBSYS” i późniejsze części łańcucha wyłączone, w przeciwnym razie może nie działać.
    :włączyć włącz devcon „PCI \ VEN_1234 i DEV_5678” goto: eof
    :wyłączyć devcon wyłącz „PCI \ VEN_1234 i DEV_5678” goto: eof

  3. Utwórz dwa skróty do pliku wsadowego (np. EnableNIC.lnkI DisableNIC.lnk), w jednym określając pole docelowe jako C:\…\ToggleNIC.bat +i dla drugiego C:\…\ToggleNIC.bat -(oczywiście zamień na ścieżkę do pliku wsadowego)

  4. Ustaw skrót klawiszowy w oknie dialogowym Właściwości dla każdego skrótu - Ctrl+Alt+Shift+Num+i Ctrl+Alt+Shift+Num-wyglądają na dobre, logiczne.

    • (Istnieje powód, dla którego Eksplorator próbuje zapobiec prostym skrótom formularza Ctrl+Key, Alt+Keyoraz Shift+Key; ponieważ są one zwykle używane w programach do codziennych zadań, więc używanie ich jako skrótów klawiszowych powłoki nie spowoduje końca problemów. Ale jeśli naprawdę potrzebujesz takiego bez Alt, możesz ręcznie zhakować .lnkplik lub łatwiej, po prostu użyj programu makr / skrótów, aby utworzyć zadanie uruchamiania plików wsadowych z dowolnym skrótem, jaki chcesz.)

  5. Alternatywnie możesz umieścić plik wsadowy gdzieś w ŚCIEŻCE, a następnie możesz po prostu przełączać kartę sieciową za pomocą menu Start lub okna dialogowego Uruchom ; na przykład Win+R,togglenic +


Możesz to zrobić tak, aby plik wsadowy dosłownie przełączał kartę sieciową (włącz ją, jeśli jest obecnie wyłączona, lub wyłącz ją, jeśli jest obecnie włączona), ale będzie to nieco bardziej zaangażowane i prawdopodobnie nie będzie konieczne w ogóle.

Synetech
źródło
Tutaj jest dużo, ale wydrukuję go i przejrzę, aby sprawdzić, czy mogę to wszystko zrobić. Na razie, jeśli nie masz nic przeciwko, proszę odpowiedz mi na jedno pytanie; używając Autohotkey, jak wyświetlić polecenie oznaczające podwójne kliknięcie? Udało mi się zrobić wszystko, czego potrzebuję i w razie potrzeby mogłem ręcznie kliknąć dwukrotnie, ale jeśli istnieje sposób, w jaki mógłbym zakończyć skrypt, byłoby to wisienką na torcie. Dzięki
Carlos
Nie mogę powiedzieć o co pytasz. Masz skrypt AHK, który otwiera okno Połączenia sieciowe i emuluje naciśnięcie klawisza, aby przejść do karty sieciowej i przełączyć ją? Do czego służy podwójne kliknięcie / włączenie? Co rozumiesz przez „pokaż polecenie”?
Synetech
@Carlos Czy mój skrypt nie działał? Jeśli element, który chcesz kliknąć dwukrotnie, jest aktywny (tzn. Podświetlony na niebiesko lub z kropkowanym polem), możesz wysłać {Enter} . W przeciwnym razie możesz użyć polecenia Kliknij, aby zasymulować kliknięcie myszą w określonej lokalizacji.
iglvzx
Twój skrypt działał dobrze. Pracuję nad innym skryptem, używając niektórych poleceń użytych w poprzednim problemie i mam go uruchomionego. Wszystko, co chcę zrobić, to zakończyć skrypt podwójnym kliknięciem, aby zainicjować otwarcie okna, które obecnie wykonuję ręcznie. Spróbuję zasugerować użycie opcji Wyślij {Enter} i zobaczę, czy to zadziała. Jeśli nie, spróbuję wysłać {kliknij}.
Carlos