Udostępnij przez


Bezprzewodowe interfejsy API interfejsu użytkownika

System Windows 8, Windows Server 2012 i nowsze zawierają nową funkcję Menedżera połączeń, która umożliwia użytkownikom łatwe łączenie się z Internetem i z innymi sieciami (na przykład sieci służbowe i domowe). Ta nowa funkcja Menedżera połączeń zastępuje starsze Connect z siecią i Zarządzanie sieciami bezprzewodowymi interfejsy użytkownika dołączone do starszych wersji systemu Windows do zarządzania natywnymi połączeniami Wi-Fi.

W systemie Windows 7, Windows Server 2008 i Windows Vista istnieje wiele interfejsów użytkownika (UI) używanych do nawiązywania połączenia lub konfigurowania sieci bezprzewodowej. Te interfejsy użytkownika można uruchomić w aplikacji przy użyciu funkcji Natywna sieć Wi-Fi i powłoka systemu Windows. Te interfejsy użytkownika nie są dostępne w systemach Windows 8, Windows Server 2012 i nowszych.

systemu Windows XP z dodatkiem SP3 i interfejsem API bezprzewodowej sieci LAN dla systemu Windows XP z dodatkiem SP2: Nie można uruchomić żadnego interfejsu użytkownika używanego do nawiązywania połączenia z siecią bezprzewodową lub konfigurowania sieci bezprzewodowej w aplikacji programowo.

Nawiązywanie połączenia z siecią

W systemie Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 i Windows Vista, Połącz z siecią kreatora można użyć do nawiązania połączenia z siecią bezprzewodową. Możesz użyć funkcji ShellExecute, aby uruchomić kreatora Connect z siecią.

Poniższy kod przedstawia wywołanie ShellExecute uruchamiające kreatora Connect to a network wizard (Łączenie z siecią).

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

zarządzanie sieciami bezprzewodowymi

W systemie Windows 7, Windows Server 2008 i Windows Vista, Zarządzaj sieciami bezprzewodowymi Panelu sterowania jest używany do zarządzania profilami sieci bezprzewodowej. Za pomocą funkcji ShellExecute można również uruchomić element Zarządzaj sieciami bezprzewodowymi. Ścieżka do użycia podczas wywoływania ShellExecute w systemach Windows 7 i Windows Vista jest następująca:

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

Poniższy przykładowy kod pokazuje, jak użyć ShellExecute, aby uruchomić kreatora zarządzanych sieci bezprzewodowych z poziomu aplikacji.

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

Ustawienia zaawansowane dla profilów sieci bezprzewodowej

System Windows Vista i nowsze zawierają zaawansowany interfejs użytkownika, który służy do wyświetlania i edytowania zaawansowanych ustawień profilu sieci bezprzewodowej. Możesz uruchomić ten zaawansowany interfejs użytkownika, wywołując funkcję WlanUIEditProfile.

przy użyciu natywnej sieci Wi-Fi

przykłady profilów bezprzewodowych

ShellExecute

WlanUIEditProfile