比如获取状态、连接、断开、信号强度等
解决方案 »
- 如何解决WPF高CPU占用率的问题?
- 关于SaveFileDialog的问题
- 关于gridview不用checkbox选中多行的问题
- 求个正规表达式...
- 如何在不重载PreTranslateMessage和IsInPutKey方法的情况下,不让系统预处理消息?
- vs2005:如何为Menustrip动态制定图标
- 用tcpclient类发送中文字符接收时变成乱码,请问该怎么设置?
- 如何处理.net中的消息接收超时
- 如何在内存中用流创建文件,并且打开显示,最后由用户选择是否保存
- 请教个问题,你听说什么软件可以统计一个单词在这骗文章中出现的次数的软件吗?马上了解
- 请教一关于C# Combobox的问题
- C#(Winform) 为什么 win7 无法修改C盘文件?
怎么不用C++?
例子:namespace WifiExample
{
using NativeWifi;
using System;
using System.Text; internal class Program
{
/// <summary>
/// Converts a 802.11 SSID to a string.
/// </summary>
private static string GetStringForSSID(Wlan.Dot11Ssid ssid)
{
return Encoding.ASCII.GetString(ssid.SSID, 0, (int) ssid.SSIDLength);
} private static void Main(string[] args)
{
WlanClient client = new WlanClient();
foreach (WlanClient.WlanInterface wlanIface in client.Interfaces)
{
// Lists all networks with WEP security
Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList(0);
foreach (Wlan.WlanAvailableNetwork network in networks)
{
if (network.dot11DefaultCipherAlgorithm == Wlan.Dot11CipherAlgorithm.WEP)
{
Console.WriteLine("Found WEP network with SSID {0}.", GetStringForSSID(network.dot11Ssid));
}
} // Retrieves XML configurations of existing profiles.
// This can assist you in constructing your own XML configuration
// (that is, it will give you an example to follow).
foreach (Wlan.WlanProfileInfo profileInfo in wlanIface.GetProfiles())
{
string name = profileInfo.profileName; // this is typically the network's SSID
string xml = wlanIface.GetProfileXml(profileInfo.profileName);
} // Connects to a known network with WEP security
string profileName = "Cheesecake"; // 改成要连接的无线网的 SSID
string key = "hello"; // 改成连接密码
string mac = wlanIface.NetworkInterface.GetPhysicalAddress().ToString();
string profileXml = string.Format(@"<?xml version=""1.0""?>
<WLANProfile xmlns=""http://www.microsoft.com/networking/WLAN/profile/v1"">
<name>{0}</name>
<SSIDConfig>
<SSID>
<hex>{1}</hex>
<name>{0}</name>
</SSID>
</SSIDConfig>
<connectionType>ESS</connectionType>
<MSM>
<security>
<authEncryption>
<authentication>open</authentication>
<encryption>WEP</encryption>
<useOneX>false</useOneX>
</authEncryption>
<sharedKey>
<keyType>networkKey</keyType>
<protected>false</protected>
<keyMaterial>{2}</keyMaterial>
</sharedKey>
<keyIndex>0</keyIndex>
</security>
</MSM>
</WLANProfile>", profileName, mac, key);
wlanIface.SetProfile(Wlan.WlanProfileFlags.AllUser, profileXml, true);
wlanIface.Connect(Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, profileName);
}
}
}
}
<keyMaterial>{2}</keyMaterial>这个地方的密码应该用加过密之后的值吧
foreach (Wlan.WlanProfileInfo profileInfo in wlanIface.GetProfiles())
{
string name = profileInfo.profileName; // this is typically the network's SSID
string xml = wlanIface.GetProfileXml(profileInfo.profileName);
}
是系统中已有的xml配置,你用Console.WriteLine或调试看看这些xml配置是怎样的,系统中的配置是肯定正确的,然后你参考它改改。