API de interfaz de usuario inalámbricas
Windows 8, Windows Server 2012 y versiones posteriores incluyen una nueva característica de Administrador de conexiones que permite a los usuarios conectarse fácilmente a Internet y a otras redes (redes profesionales y domésticas, por ejemplo). Esta nueva característica de Administrador de conexiones reemplaza a la anterior Conexión a una red y administrar interfaces de usuario de Redes inalámbricas incluidas con versiones anteriores de Windows para administrar conexiones Wifi nativas.
En Windows 7, Windows Server 2008 y Windows Vista, hay una serie de interfaces de usuario (UIs) usadas para conectarse a una red inalámbrica o configurarla. Estas interfaces de usuario se pueden iniciar en una aplicación mediante funciones nativas de Wifi y Shell de Windows. Estas INTERFACES de usuario no están disponibles en Windows 8, Windows Server 2012 y versiones posteriores.
Windows XP con SP3 y LAN inalámbrica API para Windows XP con SP2: No puede iniciar ninguna interfaz de usuario usada para conectarse a una red inalámbrica o configurarla en una aplicación mediante programación.
Conexión a una red
En Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 y Windows Vista, se puede usar el Asistente para conectarse a una red inalámbrica. Puede usar la función ShellExecute para iniciar el Asistente para conectarse a una red .
En el código siguiente se muestra una llamada a ShellExecute que inicia el Asistente para conectarse a una red .
#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);
}
Administrar redes inalámbricas
En Windows 7, Windows Server 2008 y Windows Vista, el elemento Administrar redes inalámbricas Panel de control se usa para administrar perfiles de red inalámbrica. La función ShellExecute también se puede usar para iniciar el elemento Administrar redes inalámbricas . La ruta de acceso que se va a usar al llamar a ShellExecute en Windows 7 y Windows Vista es la siguiente:
shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}\3\::{1fa9085f-25a2-489b-85d4-86326eedcd87}
.
En el código de ejemplo siguiente se muestra cómo usar ShellExecute para iniciar el Asistente para redes inalámbricas administradas desde una aplicación.
#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;
}
}
Configuración avanzada para perfiles de red inalámbrica
Windows Vista y versiones posteriores incluyen una interfaz de usuario avanzada que se usa para ver y editar la configuración avanzada de un perfil de red inalámbrica. Puedes iniciar esta interfaz de usuario avanzada llamando a la función WlanUIEditProfile .
Temas relacionados