Partager via


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 .

Utilisation du wifi natif

Exemples de profil sans fil

ShellExecute

WlanUIEditProfile