ReasonMacroStarted関数(TKInfo.dll)(Ver7.33対応版)
ReasonMacroStarted関数は、マクロがどのようにして起動されたのかを返します。具体的には、「マクロ・マクロ登録・自動起動」で登録されたマクロが起動されたのか、それとも普通にユーザー様のキーボード/マウス操作で起動されたのかを返します。
類似した関数として、
GetTransmitCommandCode関数もあります。
- 返り値(数値型)
-
マクロが手動実行された場合は0を返します。
マクロが自動実行された場合は、以下の値を返します。
秀丸メール起動時の自動実行の場合:1
秀丸メール終了時の自動実行の場合:2
受信が一段落した時の自動実行の場合:3
送信用のエディタ起動時、または、 テンプレートでのExecMacro命令によって起動された場合:4
あとで送信/今すぐ送信の自動実行の場合:5
送受信の開始直前の場合:6
本体ウィンドウを開いた時:7
本体ウィンドウを閉じる時:8
アカウント切り替え時:9
コマンドラインの/xオプションでマクロが起動された場合:10 (Version 5.70β9より)
「マクロ登録・コマンド置き換え」の機能によって起動された場合:11 (Version 6.10β22より)
草稿/未送信フォルダのメールを開いた時:12 (Version 6.51β4より)
- 備考
-
自動起動されたマクロからexecmacro文によって起動されたマクロでも、自動実行の場合の値を返します。
あとで送信なのか今すぐ送信なのかを区別するには、Bypass_GetWindowText関数を使った以下のような処理で判定してください。
$s = dllfuncstr("Bypass_GetWindowText", hidemaruhandle(0) );
if( leftstr( $s, 6 ) == "今すぐ" ) {
message "今すぐ送信";
} else {
message "あとで送信";
}
例 |
loaddll "tkinfo.dll";
if( dllfunc("ReasonMacroStarted") != 0 ) {
message "自動実行されました。";
} else {
message "手動実行されました。";
}
|