次の方法で共有


ワイヤレス ユーザー インターフェイス API

Windows 8、Windows Server 2012、以降には、ユーザーがインターネットや他のネットワーク (職場やホーム ネットワークなど) に簡単に接続できる新しい接続マネージャー機能が含まれています。 この新しい接続マネージャー機能は、ネイティブ Wifi 接続を管理するために、以前のバージョンの Windows に含まれる、以前のネットワークへの接続ワイヤレス ネットワークの管理ユーザー インターフェイスを置き換えます。

Windows 7、Windows Server 2008、および Windows Vista では、ワイヤレス ネットワークへの接続または構成に使用されるユーザー インターフェイス (UI) が多数あります。 これらの UI は、Native Wifi 関数と Windows Shell 関数を使用してアプリケーションで開始できます。 これらの UI は、Windows 8、Windows Server 2012、以降では使用できません。

SP3 を使用した Windows XP と、SP2 を使用した Windows XP 用のワイヤレス LAN API: アプリケーションでワイヤレス ネットワークに接続したり、構成したりするために使用する 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 以降には、ワイヤレス ネットワーク プロファイルの詳細設定を表示および編集するために使用される高度なユーザー インターフェイスが含まれています。 この高度な UI は、 WlanUIEditProfile 関数を呼び出すことで開始できます。

ネイティブ Wifi の使用

ワイヤレス プロファイルのサンプル

ShellExecute

WlanUIEditProfile