Programming Field - ドキュメント無し関数 / 名前無し関数

_ShellMessageBoxWrapW

LoadStringを利用してメッセージボックスを表示します。

序数 388
DLL shlwapi.dll
確認済み OS Windows XP SP2 + IE6 SP1

構文

[C/C++]

int WINAPIV _ShellMessageBoxWrapW(
    HINSTANCE hInstance,
    HWND hWnd,
    LPCWSTR lpText,
    LPCWSTR lpCaption,
    UINT uType,
    ...
);

[VB]

(定義不可)

[VB.NET]

(定義不可)

パラメータ

hInstance lpTextとlpCaptionのいずれかでIDを利用している場合、そのリソースを含むアプリケーションのインスタンスハンドルを指定します。
hWnd メッセージボックスのオーナーウィンドウです。
lpText メッセージボックスの表示メッセージとなる文字列のポインタかリソースID(MAKEINTRESOURCEW利用)です。メッセージには%1、%2などの文字も含むことができ、uType以降の引数に指定することで文字を置き換えることができます。
lpCaption メッセージボックスのタイトルとなる文字列のポインタかリソースID(MAKEINTRESOURCEW利用)です。NULLを指定するか、IDが無効である場合は、hWndがNULLでないときはそのウィンドウのタイトル("Program Manager"の場合はGetPropで"pszDesktopTitleW"プロパティを取得)、ウィンドウテキスト/プロパティ取得に失敗したかhWndがNULLなら空の文字列となります。
なお、lpCaptionがテキストでない場合、取得するテキストはすべて80文字以内に切り捨てられます。
uType メッセージボックスのボタンやアイコンなどのスタイルを指定します。MB_SETFOREGROUNDは必ず追加されます。
... lpTextに%1などが含まれている場合の置き換え文字列をLPCWSTR型で指定します。

戻り値

MessageBoxの戻り値と同じです。

解説

この関数はリソースからメッセージを読み込めるなど、MessageBoxより使いやすさが増している関数です。呼び出し規約がWINAPIV(→ __cdecl)なので注意してください。

この関数は内部でFormatMessageWを呼び出しているため、Windows95/98/Meでは(おそらく)使用できません。

最終更新日: 2006/08/18