2011-11-30 123 views
4

我的学校使用802.11a,但在家使用802.11b。 这意味着每次我从家里去学校或其他方式,我必须去设备管理器 - >网络适配器 - >英特尔(R)WiFi Link 5100 AGN - >属性 - >高级 - >无线模式 - >更改值。更改无线网络适配器无线模式属性

我想为我做一个小型的c#程序,但我不知道从哪里开始。

有人可以指出我正确的方向,我不知道从哪里开始。

我收到了MSDN的答案 - 但我还没有测试过它。 http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/3a8a096d-b0e8-488c-930f-12735e5f7b4b

SOLUTION 与这个有点工作后,我找到了解决办法。 首先,我使用Process monitor来找出哪些注册表值已更改,当我手动更改无线模式时。

现在更改该值包含2个步骤。 无线模式的名称被映射到一个数字。然后将这些数字映射到不同的注册表项中以指向无线模式号码。 所以首先我找到了基于名称的数字,然后我将该值设置为不同的注册表项。

之后,网络适配器必须重置,我用WMI来做。

我在MSDN上得到This thread的帮助。

我不确定,如果它适用于所有的Windows操作系统,并且我不确定它是否适用于所有网络适配器。无论如何,这就是我所做的。

+0

你可以发布什么是需要改变的价值吗? – Rajesh

+0

我必须在以下值之间切换:1. 802.11a到6. 802.11a/b/g –

回答

1

用这款有点工作后,我找到了解决办法。首先,我使用Process monitor来确定哪些注册表值已更改,当我手动更改无线模式时。

现在更改该值包含2个步骤。无线模式的名称被映射到一个数字。然后将这些数字映射到不同的注册表项中以指向无线模式号码。因此,首先我根据名称找到数字,然后在不同的注册表项中设置该值。

之后,网络适配器必须重置,我用WMI来做。

我在MSDN的这个线程中得到了帮助。

我不确定,如果它适用于所有的Windows操作系统,并且我不确定它是否适用于所有网络适配器。无论如何,这就是我所做的。

0

有一个API用于访问所有WiFi网络适配器。你可以在here找到它的源代码。希望能让你开始。

+0

我已经研究过这个问题,看起来好像本地WiFi API更多的是关于网络连接而不是那么多的硬件 –

1

要深入到System.Management命名空间来惹设备http://msdn.microsoft.com/en-us/library/system.management.aspx

+0

我已经看过它,但我找不到要找的房产。我已经试过如下: SELECT * FROM Win32_NetworkAdapterConfiguration的 SELECT * FROM Win32_NetworkAdapter SELECT * FROM Win32_NetworkClient SELECT * FROM Win32_NetworkConnection SELECT * FROM Win32_NetworkLoginProfile SELECT * FROM Win32_NetworkProtocol数据 –

+0

关于第二个想法,也许藏汉有可能,你必须“谈”到你的适配器的驱动程序,而不是让Windows完成这个任务......事实上,Windows不知道设备如何工作,驱动程序是这样做的(这就是Windows需要它们的原因)。不幸的是,我不知道确切的B/C我从来没有尝试过这种东西:( – Alex

+0

我还没有解决这个问题,但你给了我一个提示在哪里看,这是问题的答案。谢谢 –