Compartilhar via


APIs de interface do usuário sem fio

O Windows 8, o Windows Server 2012 e posterior incluem um novo recurso do Gerenciador de Conexões que permite que os usuários se conectem facilmente à Internet e a outras redes (redes corporativas e domésticas, por exemplo). Esse novo recurso do Gerenciador de Conexões substitui o Connect mais antigo a um de rede e gerenciar redes sem fio interfaces de usuário incluídas em versões mais antigas do Windows para gerenciar conexões Wi-Fi Nativas.

No Windows 7, Windows Server 2008 e Windows Vista, há várias interfaces de usuário (UIs) usadas para se conectar ou configurar uma rede sem fio. Essas interfaces do usuário podem ser iniciadas em um aplicativo usando funções nativas do Wifi e do Windows Shell. Essas interfaces do usuário não estão disponíveis no Windows 8, Windows Server 2012 e posterior.

Windows XP com SP3 e API de LAN Sem Fio para Windows XP com SP2: Não é possível iniciar nenhuma interface do usuário usada para se conectar ou configurar uma rede sem fio em um aplicativo programaticamente.

Conectar-se a uma rede

No Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 e Windows Vista, o assistente Conectar a uma rede pode ser usado para estabelecer uma conexão com uma rede sem fio. Você pode usar a funçãoShellExecute para iniciar o assistente Conectar a um de rede.

O código a seguir mostra uma chamada ShellExecute que inicia o assistente Conectar a um de rede.

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

gerenciar redes sem fio

No Windows 7, Windows Server 2008 e Windows Vista, o item Gerenciar Redes Sem Fio Painel de Controle é usado para gerenciar perfis de rede sem fio. A funçãoShellExecute também pode ser usada para iniciar o item Gerenciar Redes Sem Fio. O caminho a ser usado ao chamar ShellExecute no Windows 7 e no Windows Vista é o seguinte:

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

O código de exemplo a seguir mostra como usar ShellExecute para iniciar o assistente de redes sem fio gerenciadas de um aplicativo.

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

Configurações avançadas para perfis de rede sem fio

O Windows Vista e posterior incluem uma interface do usuário avançada que é usada para exibir e editar configurações avançadas de um perfil de rede sem fio. Você pode iniciar essa interface do usuário avançada chamando a função WlanUIEditProfile.

usando wi-fi nativo

exemplos de perfil sem fio

ShellExecute

WlanUIEditProfile