API dell'interfaccia utente wireless

Windows 8, Windows Server 2012 e versioni successive includono una nuova funzionalità di Gestione connessioni che consente agli utenti di connettersi facilmente a Internet e ad altre reti (ad esempio, lavoro e reti home). Questa nuova funzionalità di Gestione connessioni sostituisce le interfacce utente di Connessione a una rete e Gestisci reti wireless incluse nelle versioni precedenti di Windows per la gestione delle connessioni Wi-Fi native.

In Windows 7, Windows Server 2008 e Windows Vista, esistono diverse interfacce utente usate per connettersi o configurare una rete wireless. Queste interfacce utente possono essere avviate in un'applicazione usando funzioni Native Wifi e Windows Shell. Queste interfacce utente non sono disponibili in Windows 8, Windows Server 2012 e versioni successive.

Windows XP con SP3 e API LAN wireless per Windows XP con SP2: Non è possibile avviare qualsiasi interfaccia utente usata per connettersi o configurare una rete wireless in un'applicazione a livello di codice.

Connessione a una rete

In Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 e Windows Vista, la Procedura guidata Connetti a una rete può essere usata per stabilire una connessione a una rete wireless. È possibile usare la funzione ShellExecute per avviare la procedura guidata Connetti a una rete .

Il codice seguente mostra una chiamata ShellExecute che avvia la procedura guidata Connetti a una rete .

#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);
}

Gestire reti wireless

In Windows 7, Windows Server 2008 e Windows Vista, l'elemento Gestisci reti wireless Pannello di controllo viene usato per gestire i profili di rete wireless. La funzione ShellExecute può essere usata anche per avviare l'elemento Gestisci reti wireless . Il percorso da usare quando si chiama ShellExecute in Windows 7 e Windows Vista è il seguente:

shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}\3\::{1fa9085f-25a2-489b-85d4-86326eedcd87} .

Il codice di esempio seguente illustra come usare ShellExecute per avviare la procedura guidata Reti wireless gestite da un'applicazione.

#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;
    }
}

Impostazioni avanzate per i profili di rete wireless

Windows Vista e versioni successive includono un'interfaccia utente avanzata usata per visualizzare e modificare le impostazioni avanzate di un profilo di rete wireless. È possibile avviare questa interfaccia utente avanzata chiamando la funzione WlanUIEditProfile .

Uso di Native Wifi

Esempi di profilo wireless

ShellExecute

WlanUIEditProfile