C#使用托管Wifi API连接到Wifi网络

我想知道是否可以使用Managed Wifi API连接到wifi网络?

基本上,是的。

也许你应该花几分钟时间搜索。 从Managed Wifi API codeplex页面:

该库使用Native Wifi API,…

所以转到Native Wifi API: MSDN

连接到无线网络或从无线网络断开连接。 请参阅WlanConnect和WlanDisconnect。

此外,在Managed Wifi API WlanApi.cs的源代码中:

///  /// Requests a connection (association) to the specified wireless network. ///  ///  /// The method returns immediately. Progress is reported through the  event. ///  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); } 

而网站的独特样本就是这样做的! 样品

 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("{0}{1}{0}ESSopenWEPfalsenetworkKeyfalse{2}0", profileName, mac, key); wlanIface.SetProfile( Wlan.WlanProfileFlags.AllUser, profileXml, true ); wlanIface.Connect( Wlan.WlanConnectionMode.Profile, Wlan.Dot11BssType.Any, profileName ); } } 

祝你有美好的一天!

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

请参阅MSDN上的WiFiAdapter类和GitHub上的一些示例代码

我在托管API上看到的好处是您不必处理创建XML配置文件以连接到新网络。 实际上,您只需使用密码即可连接到网络。