Search code examples
c#wifiwindows-vistassid

Get SSID of the wireless network I am connected to with C# .Net on Windows Vista


I'd like to know if there is any .Net class that allows me to know the SSID of the wireless network I'm connected to. So far I only found the library linked below. Is the best I can get or should I use something else? Managed WiFi (http://www.codeplex.com/managedwifi)

The method that exploits WMI works for Windows XP but is it not working anymore with Windows Vista.


Solution

  • I resolved this using a 3rd party library. It resulted to be quite easy to work with the classes provided:

    First I had to create a WlanClient object

    wlan = new WlanClient();
    

    And then I can get the list of the SSIDs the PC is connected to with this code:

    Collection<String> connectedSsids = new Collection<string>();
    
    foreach (WlanClient.WlanInterface wlanInterface in wlan.Interfaces)
    {
       Wlan.Dot11Ssid ssid = wlanInterface.CurrentConnection.wlanAssociationAttributes.dot11Ssid;
       connectedSsids.Add(new String(Encoding.ASCII.GetChars(ssid.SSID,0, (int)ssid.SSIDLength)));
    }