ShellExecuteExの使い方と一般的な例

ShellExecuteEx関数はWindows APIの1つであり、外部プログラムを開いたりファイルを開いたりする際に、開く方法を制御するためのいくつかのパラメータを指定することができます。以下はShellExecuteEx関数の使い方と一般的な例です。

使い方:

  1. 最初には、windows.hのヘッダーファイルを含める必要があります。
  2. SHELLEXECUTEINFO構造体の変数を宣言し、その中のcbSizeメンバーを構造体のサイズに初期化してください。
  3. SHELLEXECUTEINFO構造体の他のメンバー、lpVerb、lpFile、lpParameters、lpDirectory、nShowなどを設定してください。
  4. ShellExecuteEx関数を呼び出し、SHELLEXECUTEINFO構造体のアドレスを関数に渡す。
  5. ShellExecuteEx関数の返り値をチェックし、TRUEの場合は成功、FALSEの場合は失敗を意味します。

使用例:

  1. 外部プログラムを起動する:
#include <windows.h>

int main()
{
    SHELLEXECUTEINFO sei = { sizeof(SHELLEXECUTEINFO) };
    sei.lpFile = L"notepad.exe";
    sei.nShow = SW_SHOW;
    
    if (ShellExecuteEx(&sei))
    {
        // 执行成功
    }
    else
    {
        // 执行失败
    }
    
    return 0;
}

上記のコードはメモ帳プログラムを開きます。

  1. ファイルを開く
#include <windows.h>

int main()
{
    SHELLEXECUTEINFO sei = { sizeof(SHELLEXECUTEINFO) };
    sei.lpFile = L"C:\\path\\to\\file.txt";
    sei.nShow = SW_SHOW;
    
    if (ShellExecuteEx(&sei))
    {
        // 执行成功
    }
    else
    {
        // 执行失败
    }
    
    return 0;
}

上記のコードは、ファイルパスがC:\path\to\file.txtであるファイルを開きます。

ShellExecuteEx関数を使用してファイルを開く際、lpFileパラメータにはファイルの完全なパスを渡す必要があります。

  1. URLリンクを開く:
#include <windows.h>

int main()
{
    SHELLEXECUTEINFO sei = { sizeof(SHELLEXECUTEINFO) };
    sei.lpFile = L"https://www.example.com";
    sei.nShow = SW_SHOW;
    
    if (ShellExecuteEx(&sei))
    {
        // 执行成功
    }
    else
    {
        // 执行失败
    }
    
    return 0;
}

上記のコードはhttps://www.example.com のリンクを開きます。

ShellExecuteEx関数を使用してURLリンクを開く際には、lpFileパラメータに完全なURLアドレスを渡す必要があります。

以上はShellExecuteEx関数の使用方法と一般的な例です。役立つといいですね。

bannerAds