무선 사용자 인터페이스 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를 시작할 수 있습니다.
관련 항목