Изменение свойств беспроводного режима адаптера беспроводной сети

В моей школе используется 802.11a, но дома я использую 802.11b. Это означает, что каждый раз, когда я иду из дома в школу или наоборот, я должен заходить в диспетчер устройств -> Сетевые адаптеры -> Intel(R) WiFi Link 5100 AGN -> свойства -> дополнительные -> режим беспроводной связи -> изменить значение .

Я хотел бы сделать небольшую программу на С#, которая делает это для меня, но я не знаю, с чего начать.

Может ли кто-нибудь указать мне правильное направление, я понятия не имею, с чего начать.

Я получил ответ от MSDN, но еще не проверял его. http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/3a8a096d-b0e8-488c-930f-12735e5f7b4b

РЕШЕНИЕ Немного поработав с этим, я нашел решение. Сначала я использовал монитор процессов, чтобы выяснить, какие значения реестра были изменены, когда Я изменил режим беспроводной сети вручную.

Теперь изменение значения содержит 2 шага. Имена беспроводных режимов сопоставляются с номером. Затем эти числа сопоставляются в другом ключе реестра с номером беспроводного режима. Итак, сначала я нашел номер по имени, а затем установил значение в другом ключе реестра.

После этого сетевой адаптер необходимо сбросить, для чего я использовал WMI.

Мне помогли в этой теме в MSDN.

Я не уверен, работает ли он во всех ОС Windows, и я не уверен, работает ли он во всех сетевых адаптерах. Во всяком случае, это то, что я сделал.


person Casper Thule Hansen    schedule 30.11.2011    source источник
comment
Можете ли вы опубликовать, на какое значение нужно изменить?   -  person Rajesh    schedule 30.11.2011
comment
Мне приходится переключаться между следующими значениями: 1. 802.11a на 6. 802.11a/b/g   -  person Casper Thule Hansen    schedule 02.12.2011


Ответы (3)


вы хотите копаться в пространстве имен System.Management, чтобы связываться с устройствами http://msdn.microsoft.com/en-us/library/system.management.aspx

person Alex    schedule 30.11.2011
comment
Я изучил его, но не могу найти недвижимость, которую ищу. Я пробовал следующее: Выберите * из Win32_NetworkAdapterConfiguration Выберите * из Win32_NetworkAdapter Выберите * из Win32_NetworkClient Выберите * из Win32_NetworkConnection Выберите * из Win32_NetworkLoginProfile Выберите * из Win32_NetworkProtocol - person Casper Thule Hansen; 30.11.2011
comment
Если подумать, вполне возможно, что вам нужно поговорить с драйвером вашего адаптера, а не просить Windows выполнить эту задачу ... На самом деле Windows не знает, как работают устройства, драйверы знают (вот почему Windows нуждается в их ^^). К сожалению, я не могу знать наверняка, потому что я никогда не пробовал такие вещи :( - person Alex; 02.12.2011
comment
Я еще не решил проблему, но вы мне подсказали, где искать, что и является ответом на вопрос. Спасибо - person Casper Thule Hansen; 05.12.2011

РЕШЕНИЕ Немного поработав с этим, я нашел решение. Сначала я использовал монитор процесса, чтобы выяснить, какие значения реестра были изменены, когда я вручную изменил режим беспроводной сети.

Теперь изменение значения содержит 2 шага. Имена беспроводных режимов сопоставляются с номером. Затем эти числа сопоставляются в другом ключе реестра с номером беспроводного режима. Итак, сначала я нашел номер по имени, а затем установил значение в другом ключе реестра.

После этого сетевой адаптер необходимо сбросить, для чего я использовал WMI.

Я получил помощь в этом потоке на MSDN.

Я не уверен, работает ли он во всех ОС Windows, и я не уверен, работает ли он во всех сетевых адаптерах. Во всяком случае, это то, что я сделал.

person Casper Thule Hansen    schedule 20.07.2012

Существует API, написанный для доступа ко всем сетевым адаптерам Wi-Fi. Вы можете найти его исходный код по адресу здесь. Надеюсь, это поможет вам начать.

person Rajesh    schedule 30.11.2011
comment
Я изучил это, и кажется, что собственный API Wi-Fi больше связан с сетевыми подключениями, а не с аппаратным обеспечением. - person Casper Thule Hansen; 30.11.2011