положить интерфейс в Windows с Python? - PullRequest
0 голосов
/ 10 января 2012

Друг попросил у меня программу для выключения и включения его встроенной карты Wi-Fi.Я гуглил это без удачи.Может кто-нибудь сказать мне, если есть какой-нибудь способ сделать это в Python?

Ответы [ 2 ]

3 голосов
/ 10 января 2012

Должно ли решение быть нативным?Я бы использовал утилиту devcon, созданную Microsoft.Вы можете использовать Python для вызова devcon и анализа выходных данных и отключения необходимых устройств.

Вот пример:

http://en.kioskea.net/faq/1886-enable-disable-a-device-from-the-command-line

Вы можете получить списоксетевых устройств с

devcon hwids =net

Вы можете попытаться проанализировать устройство с WiFi и линиями, которые начинаются с PCI.Или вы можете сделать что-то вроде: devcon disable hwids =net, к сожалению, это также отключает устройства Ethernet.Если вам нужно просто отключиться от WiFi, вы можете использовать netsh wlan disconnect

РЕДАКТИРОВАТЬ: ОК, наконец-то нашли идеальное решение (IMHO).Вам нужно будет установить два пакета pywin32 и wmi.Используя привязки WMI (инструментарий управления Windows) для Python, это становится довольно просто.

import wmi
cur=wmi.WMI()
wireless_devices=cur.query("select * from Win32_NetworkAdapter WHERE NetConnectionID = 'Wireless Network Connection'")
for device in wireless_devices:
    device.Disable()

Если он возвращает кортеж с первым значением (0), он успешно завершился.Очевидно, это должно быть выполнено от имени администратора (в противном случае вы получите 5 в качестве возвращаемого значения).

0 голосов
/ 10 января 2012

Если есть способ сделать это из Win32 API в C / C ++ (честно говоря, я не знаю), то вы можете использовать привязки pywin32 , чтобы сделать это из Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...