ShellExecuteExの使い方と一般的な例
ShellExecuteEx関数はWindows APIの1つであり、外部プログラムを開いたりファイルを開いたりする際に、開く方法を制御するためのいくつかのパラメータを指定することができます。以下はShellExecuteEx関数の使い方と一般的な例です。
使い方:
- 最初には、windows.hのヘッダーファイルを含める必要があります。
- SHELLEXECUTEINFO構造体の変数を宣言し、その中のcbSizeメンバーを構造体のサイズに初期化してください。
- SHELLEXECUTEINFO構造体の他のメンバー、lpVerb、lpFile、lpParameters、lpDirectory、nShowなどを設定してください。
- ShellExecuteEx関数を呼び出し、SHELLEXECUTEINFO構造体のアドレスを関数に渡す。
- ShellExecuteEx関数の返り値をチェックし、TRUEの場合は成功、FALSEの場合は失敗を意味します。
使用例:
- 外部プログラムを起動する:
#include <windows.h>
int main()
{
SHELLEXECUTEINFO sei = { sizeof(SHELLEXECUTEINFO) };
sei.lpFile = L"notepad.exe";
sei.nShow = SW_SHOW;
if (ShellExecuteEx(&sei))
{
// 执行成功
}
else
{
// 执行失败
}
return 0;
}
上記のコードはメモ帳プログラムを開きます。
- ファイルを開く
#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パラメータにはファイルの完全なパスを渡す必要があります。
- 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関数の使用方法と一般的な例です。役立つといいですね。