API d’interface utilisateur sans fil
Windows 8, Windows Server 2012 et ultérieurement inclure une nouvelle fonctionnalité de Gestionnaire des connexions qui permet aux utilisateurs de se connecter facilement à Internet et à d’autres réseaux (réseaux professionnels et domestiques, par exemple). Cette nouvelle fonctionnalité Gestionnaire des connexions remplace les anciennes interfaces utilisateur Se connecter à un réseau et Gérer les réseaux sans fil incluses avec les anciennes versions de Windows pour la gestion des connexions Wifi natives.
Sur Windows 7, Windows Server 2008 et Windows Vista, un certain nombre d’interfaces utilisateur (UI) sont utilisées pour se connecter ou configurer un réseau sans fil. Ces interfaces utilisateur peuvent être démarrées dans une application à l’aide des fonctions Native Wifi et Windows Shell. Ces interfaces utilisateur ne sont pas disponibles sur Windows 8, Windows Server 2012 et versions ultérieures.
Windows XP avec SP3 et API LAN sans fil pour Windows XP avec SP2 : Vous ne pouvez pas démarrer une interface utilisateur utilisée pour vous connecter ou configurer un réseau sans fil dans une application par programmation.
Se connecter à un réseau
Sur Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 et Windows Vista, l’Assistant Connexion à un réseau peut être utilisé pour établir une connexion à un réseau sans fil. Vous pouvez utiliser la fonction ShellExecute pour démarrer l’Assistant Connexion à un réseau .
Le code suivant montre un appel ShellExecute qui démarre l’Assistant Connexion à un réseau .
#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);
}
Gérer les réseaux sans fil
Sur Windows 7, Windows Server 2008 et Windows Vista, l’élément Gérer les réseaux sans fil Panneau de configuration est utilisé pour gérer les profils de réseau sans fil. La fonction ShellExecute peut également être utilisée pour démarrer l’élément Gérer les réseaux sans fil . Le chemin à utiliser lors de l’appel de ShellExecute sur Windows 7 et Windows Vista est le suivant :
shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}\3\::{1fa9085f-25a2-489b-85d4-86326eedcd87}
.
L’exemple de code suivant montre comment utiliser ShellExecute pour démarrer l’Assistant Réseaux sans fil managés à partir d’une application.
#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;
}
}
Paramètres avancés pour les profils réseau sans fil
Windows Vista et versions ultérieures incluent une interface utilisateur avancée utilisée pour afficher et modifier les paramètres avancés d’un profil réseau sans fil. Vous pouvez démarrer cette interface utilisateur avancée en appelant la fonction WlanUIEditProfile .
Rubriques connexes