Partager via


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.

à l’aide d’un Wifi natif

exemples de profils sans fil

ShellExecute

WlanUIEditProfile