Drahtlose Benutzeroberfläche-APIs

Windows 8, Windows Server 2012 und höher enthalten ein neues Verbindungs-Manager-Feature, mit dem Benutzer problemlos eine Verbindung mit dem Internet und anderen Netzwerken (z. B. Arbeits- und Heimnetzwerke) herstellen können. Dieses neue Verbindungs-Manager-Feature ersetzt die älteren Verbinden in einem Netzwerk und die Benutzeroberflächen "Drahtlose Netzwerke verwalten", die in älteren Versionen von Windows für die Verwaltung nativer WLAN-Verbindungen enthalten sind.

In Windows 7, Windows Server 2008 und Windows Vista werden eine Reihe von Benutzeroberflächen verwendet, um eine Verbindung mit einem Drahtlosnetzwerk herzustellen oder es zu konfigurieren. Diese UIs können in einer Anwendung mit nativem Wlan und Windows Shell-Funktionen gestartet werden. Diese UIs sind auf Windows 8, Windows Server 2012 und höher nicht verfügbar.

Windows XP mit SP3 und Wlan-API für Windows XP mit SP2: Sie können keine Benutzeroberfläche starten, die verwendet wird, um programmgesteuert eine Verbindung mit einem Drahtlosnetzwerk in einer Anwendung herzustellen oder es zu konfigurieren.

Herstellen einer Verbindung mit einem Netzwerk

Auf Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 und Windows Vista kann der Assistent für die Verbinden zu einem Netzwerk verwendet werden, um eine Verbindung mit einem Drahtlosnetzwerk herzustellen. Sie können die ShellExecute-Funktion verwenden, um die Verbinden zu einem Netzwerk-Assistenten zu starten.

Der folgende Code zeigt einen ShellExecute-Aufruf, der die Verbinden zu einem Netzwerk-Assistenten startet.

#ifndef UNICODE
#define UNICODE
#endif

#include <windows.h>
#include <shellapi.h>

// Need to link with shell32.lib
#pragma comment(lib, "shell32.lib")

void wmain()
{
   ShellExecute(
      NULL, 
      L"open", 
      L"shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}\\::{38a98528-6cbf-4ca9-8dc0-b1e1d10f7b1b}",
      NULL,
      NULL,
      SW_SHOWNORMAL);
}

Verwalten von Drahtlosnetzwerken

Auf Windows 7, Windows Server 2008 und Windows Vista wird das Element Drahtlosnetzwerke verwalten Systemsteuerung zum Verwalten von Drahtlosnetzwerkprofilen verwendet. Die ShellExecute-Funktion kann auch verwendet werden, um das Element Drahtlosnetzwerke verwalten zu starten. Der Pfad, der beim Aufrufen von ShellExecute auf Windows 7 und Windows Vista verwendet werden soll, lautet wie folgt:

shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}\3\::{1fa9085f-25a2-489b-85d4-86326eedcd87} .

Der folgende Beispielcode zeigt, wie Sie shellExecute verwenden, um den Assistenten für verwaltete Drahtlosnetzwerke über eine Anwendung zu starten.

#ifndef UNICODE
#define UNICODE
#endif

#include <windows.h>
#include <shellapi.h>
#include <stdio.h>

// Need to link with shell32.lib
#pragma comment(lib, "shell32.lib")

int wmain()
{

    //-----------------------------------------
    // Declare and initialize variables
    HINSTANCE nResult;

    PCWSTR lpOperation = L"open";    
    PCWSTR lpFile= 
        L"shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}\\3\\::{1fa9085f-25a2-489b-85d4-86326eedcd87}";

    nResult = ShellExecute(
        NULL,   // Hwnd
        lpOperation, // do not request elevation unless needed
        lpFile,
        NULL, // no parameters 
        NULL, // use current working directory 
        SW_SHOWNORMAL);

    if((int)nResult == SE_ERR_ACCESSDENIED)
    {
        wprintf(L"ShellExecute returned access denied\n");
        wprintf(L"  Executing the ShellExecute command elevated\n"); 

        nResult = ShellExecute(
            NULL,
            L"runas", // Trick for requesting elevation
            lpFile,
            NULL, // no parameters 
            NULL, // use current working directory 
            SW_HIDE);
    }

    if ( (int) nResult < 32) {
        wprintf(L" ShellExecute failed with error %d\n", (int) nResult);
        return 1;
    }    
    else {    
        wprintf(L" ShellExecute succeeded and returned value %d\n", (int) nResult);
        return 0;
    }
}

Erweiterte Einstellungen für Drahtlosnetzwerkprofile

Windows Vista und höher enthalten eine erweiterte Benutzeroberfläche, die zum Anzeigen und Bearbeiten erweiterter Einstellungen eines Drahtlosnetzwerkprofils verwendet wird. Sie können diese erweiterte Benutzeroberfläche starten, indem Sie die WlanUIEditProfile-Funktion aufrufen.

Verwenden von nativem WLAN

Beispiele für Funkprofile

ShellExecute

WlanUIEditProfile