次の方法で共有


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

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

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

SP3 と Windows XP 用ワイヤレス LAN API for Windows XP 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 を使用して、アプリケーションから Managed Wireless Networks ウィザードを開始する方法を示しています。

#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