Вопрос озвучен в названии темы. Возможно ли по нажатию кнопки на FP отключить доступ в интернет для всего PC ?
А при нажатии на другую кнопку включить? Спасибо
How to Disable Internet Access Programmatically?
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: How to Disable Internet Access Programmatically?
Это можно реализовать массой разных способов, начиная от API системы и заканчивая сторонними фаерволлами. Я бы предложил включать/отключать сетевую карту, как например позволяет Диспетчер устройств Windows. Есть утилита для командной строки devcon, можно её приспособить под эту задачу. Ещё тут есть всякие скрипты, может что-нибудь подойдёт: https://stackoverflow.com/questions/860 ... -interface В последнем посте есть ссыль на враппер netshx, который делает следующее:
Код: Выделить всё
:ENABLE
if NOT exist %~dp0NICs.lst goto :GETNICIDS
call :NICID "%~2"
echo Enabling %NICFN%
devcon ENABLE "%HWID%
goto :EOF
:DISABLE
if NOT exist %~dp0NICs.lst goto :GETNICIDS
call :NICID "%~2"
echo Disabling %NICFN%
devcon DISABLE "%HWID%
goto :EOF
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: How to Disable Internet Access Programmatically?
Последняя ссылка в последнем посте, где упоминается wrapper, ведет вот сюдаdadreamer писал(а): ↑12 авг 2022, 20:57 Ещё тут есть всякие скрипты, может что-нибудь подойдёт: https://stackoverflow.com/questions/860 ... -interface В последнем посте есть ссыль на враппер netshx
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: How to Disable Internet Access Programmatically?
Скачала и разархивировала в папку netshx.
для проверки запустила командную строку и зашла в эту папку ..cd netshx
печатаю, как указано в примерах по ссылке, которую Вы привели.
netshx DISABLE "название моего интерфейса"
Имя интерфейса какое указывать 1 или 2 ? см скриншот Пыталась указывать оба, успеха не принесло. Такое впечатление что Win 10 не позволяет это делать. Постоянно выскакивает окошко с вопросом о разрешении сделать изменения в копмьютере, я нажимаю YES, через секунду окошко появляется снова.
Как правильно нужно использовать этот wrapper?
для проверки запустила командную строку и зашла в эту папку ..cd netshx
печатаю, как указано в примерах по ссылке, которую Вы привели.
netshx DISABLE "название моего интерфейса"
Имя интерфейса какое указывать 1 или 2 ? см скриншот Пыталась указывать оба, успеха не принесло. Такое впечатление что Win 10 не позволяет это делать. Постоянно выскакивает окошко с вопросом о разрешении сделать изменения в копмьютере, я нажимаю YES, через секунду окошко появляется снова.
Как правильно нужно использовать этот wrapper?
-
- professor
- Сообщения: 3407
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: How to Disable Internet Access Programmatically?
Проверил этот способ через System exec
Работает, но требуется запустить с правами Админа. Т.е. прям при запуске среды правой по ярлыку -> запустить как админ, и дальше уже работать. Wifi11 - это имя адаптера, специально сделал латиницей, чтобы не было проблем с кодировками.
Если запустить просто так, что выдаёт ошибку "Для запрошенной операции требуется повышение прав (запустите с правами администратора).", точно так же, как если запустить cmd и выполнить ту же операцию
Работает, но требуется запустить с правами Админа. Т.е. прям при запуске среды правой по ярлыку -> запустить как админ, и дальше уже работать. Wifi11 - это имя адаптера, специально сделал латиницей, чтобы не было проблем с кодировками.
Если запустить просто так, что выдаёт ошибку "Для запрошенной операции требуется повышение прав (запустите с правами администратора).", точно так же, как если запустить cmd и выполнить ту же операцию
- jane_wild
- master
- Сообщения: 461
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 84 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: How to Disable Internet Access Programmatically?
Спасибо, работает. Только exe при запуске нужно дать права админаArtem.spb писал(а): ↑15 авг 2022, 14:55 Проверил этот способ через System exec
Работает, но требуется запустить с правами Админа. Т.е. прям при запуске среды правой по ярлыку -> запустить как админ, и дальше уже работать. Wifi11 - это имя адаптера, специально сделал латиницей, чтобы не было проблем с кодировками.
Если запустить просто так, что выдаёт ошибку "Для запрошенной операции требуется повышение прав (запустите с правами администратора).", точно так же, как если запустить cmd и выполнить ту же операцию
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: How to Disable Internet Access Programmatically?
На современных Windows его бесполезно использовать, там версии слишком древние :) Это иллюстрация того, что там тоже devcon используется. Для Windows 10 надо подобрать devcon примерно аналогичный по "свежести" и той же разрядности, что и разрядность системы: https://superuser.com/questions/1002950 ... devcon-exe Дальше смотрим HWID сетевой карточки: запускаем cmd или powershell от админа и выполняем
Код: Выделить всё
devcon disable "PCI\VEN_10EC&DEV_8168"
Если запустить не от админа, то появится следующее сообщение:PCI\VEN_10EC&DEV_8168&SUBSYS_84321043&REV_06\4&87D54EE&0&00E5: Disabled
1 device(s) disabled.
PCI\VEN_10EC&DEV_8168&SUBSYS_84321043&REV_06\4&87D54EE&0&00E5: Disable failed
No matching devices found.