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 .
Argomenti correlati