다음을 통해 공유


무선 사용자 인터페이스 API

Windows 8, Windows Server 2012 이상에는 사용자가 인터넷 및 다른 네트워크(예: 회사 및 홈 네트워크)에 쉽게 연결할 수 있는 새로운 연결 관리자 기능이 포함되어 있습니다. 이 새로운 연결 관리자 기능은 네이티브 Wifi 연결을 관리하기 위해 이전 버전의 Windows에 포함된 이전 네트워크 연결 및 무선 네트워크 관리 사용자 인터페이스를 대체합니다.

Windows 7, Windows Server 2008 및 Windows Vista에는 무선 네트워크에 연결하거나 구성하는 데 사용되는 여러 UI(사용자 인터페이스)가 있습니다. 이러한 UI는 네이티브 Wifi 및 Windows Shell 함수를 사용하여 애플리케이션에서 시작할 수 있습니다. 이러한 UI는 Windows 8, Windows Server 2012 이상에서 사용할 수 없습니다.

WINDOWS XP SP3 및 Windows XP용 무선 LAN API SP2 사용: 애플리케이션에서 프로그래밍 방식으로 무선 네트워크에 연결하거나 구성하는 데 사용되는 UI는 시작할 수 없습니다.

네트워크에 연결

Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 및 Windows Vista에서 네트워크에 연결 마법사를 사용하여 무선 네트워크에 연결할 수 있습니다. ShellExecute 함수를 사용하여 네트워크에 연결 마법사를 시작할 수 있습니다.

다음 코드는 네트워크에 연결 마법사를 시작하는 ShellExecute 호출을 보여 줍니다.

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

무선 네트워크 관리

Windows 7, Windows Server 2008 및 Windows Vista에서는 무선 네트워크 제어판 관리 항목이 무선 네트워크 프로필을 관리하는 데 사용됩니다. ShellExecute 함수를 사용하여 무선 네트워크 관리 항목을 시작할 수도 있습니다. Windows 7 및 Windows Vista에서 ShellExecute 를 호출할 때 사용할 경로는 다음과 같습니다.

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

다음 샘플 코드에서는 ShellExecute 를 사용하여 애플리케이션에서 관리형 무선 네트워크 마법사를 시작하는 방법을 보여 있습니다.

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

무선 네트워크 프로필에 대한 고급 설정

Windows Vista 이상에는 무선 네트워크 프로필의 고급 설정을 보고 편집하는 데 사용되는 고급 사용자 인터페이스가 포함되어 있습니다. WlanUIEditProfile 함수를 호출하여 이 고급 UI를 시작할 수 있습니다.

네이티브 Wifi 사용

무선 프로필 샘플

ShellExecute

WlanUIEditProfile