API de l’interface utilisateur sans fil
Windows 8, Windows Server 2012 et versions ultérieures incluent une nouvelle fonctionnalité gestionnaire de 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é de Gestionnaire de connexions remplace l’ancienne Se connecter à un réseau et Gérer les réseaux sans fil interfaces utilisateur incluses avec les versions antérieures de Windows pour gérer les connexions Wi-Fi natives.
Sur Windows 7, Windows Server 2008 et Windows Vista, il existe un certain nombre d’interfaces utilisateur 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 de 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 l’API SP3 et LAN sans fil pour Windows XP avec SP2 : Vous ne pouvez pas démarrer une interface utilisateur utilisée pour se connecter à un réseau sans fil 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, le Se connecter à un réseau Assistant peut être utilisé pour établir une connexion à un réseau sans fil. Vous pouvez utiliser la fonctionShellExecutepour démarrer l’Assistant Se connecter à un réseau.
Le code suivant montre un appel ShellExecute qui démarre l’Assistant Se connecter à 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 élément du Panneau de configuration est utilisé pour gérer les profils réseau sans fil. La fonctionShellExecutepeut également être utilisée pour démarrer l’élément Gérer les réseaux sans fil. Le chemin à utiliser lors de l’appel 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
-
à l’aide d’un Wifi natif