W-Lan / Wifi mit .NET

Wer schon immer mal seinen eigenen W-Lan Scanner oder ein eigenes Verwaltungsprogramm für seine W-Lan Einstellungen schreiben will, für den ist der nachfolgende Text bestimmt interessant.

Wer Signalstärke oder SSIDs scannen will, der kann sich wunderbar mit WMI auseinander setzen. Über WMI kann man auf allerhand Hardware- und PC-Eigenschaften zugreifen. Mit .NET ist es auch leicht durch den Namespace System.Management möglich WMI anzusprechen.

W-Lan Eigenschaften wie das setzen der Authentifizierung kann jedoch nicht über WMI gesetzt werden. Um solche Details zu setzen muss erstmal eine Grundvoraussetzung gesetzt sein: Windows muss für die Verwaltung der W-Lan Einstellung verantwortlich sein. Sobald angenommen das Intel-Wireless-Lan-Tool läuft, geht mein folgender Weg nicht.

Mit Windows XP SP 2 kam eine W-Lan API hinzu: Die Wireless-Zero-Configuration (WZC). Diese ist für C/C++ Programmierer gedacht und ist daher für einen “normalen” .NET Entwickler erstmal äußerst hässlich. Da es außerdem auch bei dieser API zu Problemen kam, bietet MS einen Aufsatz für XP für diese API an: Die Wireless Lan API – welche aber auch als Native Wifi API bezeichnet wird – unter Vista hat es allerdings mehr funktionen.
Das Update kann direkt von MS runtergeladen werden, erfordert aber eine WGA Prüfung.

Diese Native Wifi API (Vista) oder Wireless Lan API (XP SP2) sind allerdings auch eher für C/C++ Programmierer gedacht. Abhilfe schafft dieser Wrapper: Managed Wifi API

Mit dieser ist es leicht möglich Profileinstellungen zu setzen oder sich mit einem bestimmten W-Lan zu verbinden etc.

Tipp: W-Lan Profile können als XML importiert und exportiert werden. Da das XML doch recht doof aufgebaut ist, kann man es unter Vista einfach mit dem “netsh”-Befehl erstellen. Unter Vista gibt es direkt einen W-Lan Kontext.
Ein weiterer Tipp: Als ich das W-Lan XML Profil mit der Klasse XmlDocument geladen habe funktionierte es unter Vista ohne Probleme. Unter XP (mit der managed API) kam der Fehler, dass das XML Dokument ungültig ist. Abhilfe schaffte es, die XML Datei einfach über einen Textreader einzulesen.


Kick It auf dotnet-kicks.de
Wenn dir der Blogpost gefallen hat, dann hinterlasse doch einen Kommentar. Wenn du auf dem Laufenden bleiben willst, abonniere unseren RSS Feed oder folge uns auf Twitter.

About the author

Written by Robert Mühsig

Robert Mühsig (@robert0muehsig) ist Webentwickler und beschäftigt sich mit Web-Frameworks (vor allem dem ASP.NET MVC Framework) und scheut sich auch nicht vor Javascript. Ansonsten bloggt er über all jene Probleme, die ihm über den Weg laufen. Seit 2008 ist er Microsoft MVP für ASP.NET und er arbeitet bei der T-Systems Multimedia Solutions GmbH in Dresden. Treffen kann man ihn online via Twitter (@robert0muehsig) oder dieser Seite oder bei der .NET User Group Dresden.

One Response

  1. Ich wollte mich mal an dieser Stelle bedanken für die vielen wertvollen Tipps die ich hier gelesen habe. Ich bin immer wieder von neuen erstaunt, was es doch so alles gibt.

    Reply

Comment on this post

Letzte Posts

  • image.png
    Chocolatey–apt-get für Windows

    Durch Zufall bin ich auf das Tool “Chocolatey” gestoßen. Wer die Website sich anschaut, wird evtl. eine Verwandschaft mit NuGet ausmachen. Was macht Chocolatey? Chocolatey ist ein “Maschine Package Manager”, das bedeutet, dass man für seine Maschine einfach Tools runterladen und Updaten kann – direkt über die Konsole. Was ist der Unterschied zu NuGet? NuGet ...

  • image.png
    SASS, LESS & Coffeescript in Visual Studio mit der Web Workbench

    CSS und Javascript sind die “kleinste” Schnittmenge von allen Browsern für die Erstellung von Web-Applikationen. Leider geht dabei etwas komfort verloren, daher lieben alle Webentwickler jQuery! SASS und LESS sind zwei Varianten, wie man “schöner” CSS schreiben kann und Coffeescript versucht Javascript Entwicklung zu vereinfachen. Aber immer der Reihe nach… Was ist SASS? SASS steht ...

  • image.png
    Code-Inside Sample nun auf GitHub: Google Code zu GitHub Migration

    Seit einiger Zeit habe ich Beispielcode auf Google Code bereitgestellt. Einfach nur noch weg von Google Code O-Ton damals war: Ich hatte mich für Google Code entschieden, weil ich hoffe dass früher oder später die Google Code Suche nutzbar ist und es dadurch wenigstens ein kleiner Mehrwert entsteht. Allerdings wirft es momentan noch ein Fehler. ...

  • image.png
    Windows-8-Hackathon @Night in Leipzig

    Hacken (=Entwickeln, nichts böswilliges!), Grillen und mitten in der Nacht fachsimpeln? Dann ist vielleicht der Windows-8-Hackathon was für dich. Der Hackathon wird vom 15. Juni (ab 19:00) bis zum 16. Juni (bis in die frühen Morgenstunden) in Leipzig stattfinden.  Mit dabei sind auch Darius Parys und Tom Wendel von der Microsoft Deutschland. Thematisch (wie der ...

  • image.png
    Einstieg in Redis on Windows & Redis mit .NET benutzen

    Redis gehört zu den NoSQL Datenbanken und ist dort in der Familie der Key-Value Stores zu finden. Redis wird oft mit “Blazing Fast” betitelt und laut dem Stackoverflow Thread soll es im Vergleich zu MongoDB zweimal (beim Schreiben) und sogar dreimal (beim Lesen) so schnell sein wie MongoDB – auch wenn der Vergleich etwas “hinkt” ...

Auf Amazon einkaufen & unterstützen

Facebook