APIs für die drahtlose Benutzeroberfläche
Windows 8, Windows Server 2012 und höher enthalten ein neues Verbindungs-Manager-Feature, mit dem Benutzer problemlos eine Verbindung mit dem Internet und mit anderen Netzwerken herstellen können (z. B. Arbeits- und Heimnetzwerke). Dieses neue Verbindungs-Manager-Feature ersetzt das ältere Herstellen einer Verbindung mit einem Netzwerk und Verwalten von Drahtlosnetzwerken Benutzeroberflächen, die in älteren Versionen von Windows zum Verwalten nativer WLAN-Verbindungen enthalten sind.
Unter Windows 7, Windows Server 2008 und Windows Vista gibt es eine Reihe von Benutzeroberflächen (UIs), die zum Herstellen einer Verbindung mit oder zum Konfigurieren eines Drahtlosnetzwerks verwendet werden. Diese UIs können in einer Anwendung mit nativen Wlan- und Windows-Shell-Funktionen gestartet werden. Diese UIs sind unter Windows 8, Windows Server 2012 und höher nicht verfügbar.
Windows XP mit SP3- und Wireless LAN-API für Windows XP mit SP2: Sie können keine Benutzeroberfläche starten, die zum programmgesteuerten Herstellen oder Konfigurieren eines Drahtlosnetzwerks in einer Anwendung verwendet wird.
Herstellen einer Verbindung mit einem Netzwerk
Unter Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 und Windows Vista kann der assistent Herstellen einer Verbindung mit einem Netzwerk--Assistenten verwendet werden, um eine Verbindung mit einem Drahtlosnetzwerk herzustellen. Sie können die funktion ShellExecute verwenden, um die Verbindung mit einem Netzwerk--Assistenten zu starten.
Der folgende Code zeigt einen ShellExecute--Aufruf, der das Herstellen einer Verbindung mit 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
Unter Windows 7, Windows Server 2008 und Windows Vista wird das Verwalten von Drahtlosnetzwerken Systemsteuerungselement zum Verwalten von Drahtlosnetzwerkprofilen verwendet. Die ShellExecute-Funktion kann auch verwendet werden, um das Element Verwalten von Drahtlosnetzwerken zu starten. Der Pfad, der beim Aufrufen von ShellExecute unter Windows 7 und Windows Vista verwendet werden soll, ist folgendes:
shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}\3\::{1fa9085f-25a2-489b-85d4-86326eedcd87}
.
Im folgenden Beispielcode wird gezeigt, wie Sie ShellExecute- verwenden, um den Assistenten für verwaltete Drahtlosnetzwerke aus einer 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 funktion WlanUIEditProfile aufrufen.
Verwandte Themen