2014-09-12 76 views

回答

7

基本上,是的。

也許你應該花幾分鐘搜索。從Managed Wifi API codeplex page:

庫使用的本地WiFi API,...

所以要本地WiFi API:MSDN

連接或斷開無線網絡。請參閱WlanConnect和WlanDisconnect。

,此外,在管理的無線上網API WlanApi.cs的源代碼:

/// <summary> 
/// Requests a connection (association) to the specified wireless network. 
/// </summary> 
/// <remarks> 
/// The method returns immediately. Progress is reported through the <see cref="WlanNotification"/> event. 
/// </remarks> 
public void Connect(Wlan.WlanConnectionMode connectionMode, Wlan.Dot11BssType bssType, string profile) 
{ 
    Wlan.WlanConnectionParameters connectionParams = new Wlan.WlanConnectionParameters(); 
    connectionParams.wlanConnectionMode = connectionMode; 
    connectionParams.profile = profile; 
    connectionParams.dot11BssType = bssType; 
    connectionParams.flags = 0; 
    Connect(connectionParams); 
} 

和網站的獨特樣品是做什麼的! Sample

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"; // this is also the SSID 
     string mac = "52544131303235572D454137443638"; 
     string key = "hello"; 
     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); 
    } 
} 

祝您有美好的一天!

1

在Windows 10中有API可以執行此操作。

WiFiAdapter class on MSDN和一些sample code on GitHub

我看到過的管理API的好處是,你不必應付創建一個XML配置文件連接到新的網絡。您實際上可以使用密碼連接到網絡。

+0

感謝您的iot樣本鏈接。 – 2016-09-05 00:21:35

相關問題