Sdílet prostřednictvím


Rozhraní API bezdrátového uživatelského rozhraní

Windows 8, Windows Server 2012 a novější obsahují novou funkci Správce připojení, která uživatelům umožňuje snadné připojení k internetu a dalším sítím (například pracovní a domácí sítě). Tato nová funkce Správce připojení nahrazuje starší Připojení k síti a Spravovat bezdrátové sítě uživatelská rozhraní zahrnutá ve starších verzích Windows pro správu nativních připojení Wi-Fi.

V systémech Windows 7, Windows Server 2008 a Windows Vista existuje celá řada uživatelských rozhraní používaných pro připojení k bezdrátové síti nebo jeho konfiguraci. Tyto uživatelské rozhraní je možné spustit v aplikaci pomocí nativních funkcí Wi-Fi a prostředí Windows Shell. Tato uživatelská rozhraní nejsou k dispozici ve Windows 8, Windows Serveru 2012 a novějším.

Windows XP s aktualizací SP3 a rozhraním API bezdrátové sítě LAN pro systém Windows XP s aktualizací SP2: Nelze spustit žádné uživatelské rozhraní používané pro připojení k bezdrátové síti nebo konfiguraci bezdrátové sítě v aplikaci prostřednictvím kódu programu.

Připojení k síti

V systémech Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 a Windows Vista je možné použít průvodce Připojit k síti k navázání připojení k bezdrátové síti. Pomocí funkce ShellExecute můžete spustit průvodce Připojit k síti.

Následující kód ukazuje volání ShellExecute, které spustí průvodce Připojit k síti.

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

Správa bezdrátových sítí

V systémech Windows 7, Windows Server 2008 a Windows Vista se k správě profilů bezdrátové sítě používá položka Spravovat bezdrátové sítě Ovládací panely. Funkci ShellExecute lze použít také ke spuštění položky Spravovat bezdrátové sítě. Cesta, která se má použít při volání ShellExecute ve Windows 7 a Windows Vista je následující:

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

Následující ukázkový kód ukazuje, jak pomocí ShellExecute spustit průvodce Managed Wireless Networks z aplikace.

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

Upřesňující nastavení pro profily bezdrátové sítě

Systém Windows Vista a novější obsahují pokročilé uživatelské rozhraní, které slouží k zobrazení a úpravě upřesňujících nastavení profilu bezdrátové sítě. Toto pokročilé uživatelské rozhraní můžete spustit voláním funkce WlanUIEditProfile.

pomocí nativního wi-fi

ukázky bezdrátových profilů

ShellExecute

WlanUIEditProfile