Bypass_MessageBox, Bypass_MessageBoxW関数(TKInfo.dll)(Ver7.33対応版)
Bypass_MessageBox関数は、WindowsのMessageBox関数をそのまま呼び出します。MessageBox関数のプロトタイプ(関数の型宣言)は、
int MessageBox( HWND hwnd, LPCSTR pszText, LPCSTR pszCaption, UINT uType );
となっていて、4つのパラメータ付きで呼び出される形になります。
Bypass_MessageBoxW関数は、Bypass_MesageBox関数のユニコード版で、dllfuncw関数を使って呼び出す形になります。
- パラメータ1(数値型)
-
メッセージボックスのオーナーウィンドウのハンドルです。通常、hidemaruhandle(0)を指定すればいいです。
- パラメータ2(文字列型)
-
メッセージボックスの中に表示する内容です。
- パラメータ3(文字列型)
-
メッセージボックスのウィンドウタイトルです。ここは文字列型ですが、数値の「0」を指定すると「エラー」と表示されます。
- パラメータ4(数値型)
-
メッセージボックスのタイプを指定する数値を指定します。ここは「アイコンの種類」と「ボタンの種類」と「デフォルトのボタンの指定」と「その他の指定」の組み合わせ(足し算した値)を指定することになっています。
- アイコンの種類と値は以下の通りです。
-
エラーのアイコン | 0x10 |
質問のアイコン | 0x20 |
警告のアイコン | 0x30 |
情報のアイコン | 0x40 |
| |
- ボタンの種類と値は以下の通りです。
-
OKボタンのみ | 0 |
OK + キャンセル | 1 |
中断、再試行、無視 | 2 |
はい、いいえ、キャンセル | 3 |
はい、いいえ | 4 |
再試行、キャンセル | 5 |
- デフォルトのボタン指定は以下の通りです。
-
1つ目のボタン | 0 |
2つ目のボタン | 0x100 |
3つ目のボタン | 0x200 |
- その他指定は以下の通りです。
-
ウィンドウを最前面に出す | 0x1000 |
ウィンドウをフォアグラウンドにする | 0x10000 |
- 返り値(数値型)
-
押されたボタンの種類です。
1 | OKボタン |
2 | キャンセルボタン |
3 | 中止ボタン |
4 | 再試行ボタン |
5 | 無視ボタン |
6 | はい |
7 | いいえ |
- 備考
-
詳しくはWindows APIのMessageBox関数の説明を参照ください。
メッセージボックスを出したままマクロの実行を継続したい場合は、ShowNotifyWnd関数を使うのが便利です。
SetWindowMoveHook/ReleaseWindowMoveHook関数を使うと、メッセージボックスのウィンドウ位置を指定することが出来ます。