【お知恵拝借願い】受信完了メッセージで
No.06971
dszhm
さん 20/07/20 15:06
環境は
Windows 10 Pro 1903 18362.836 64 bit
エディタ:8.91 Float 64 bit
メール:6.94Beta28 64 bit
です。
受信完了時に
キャプション:受信の通知
テキスト:n通のメールを受信しました。
というメッセージが表示されます。
これは、
メニューから「設定(O)」「全般的な設定(E)」の
「設定の一覧(L)」中の「送受信」を選択した時の
「何か受信したときにメッセージを表示する(V)」
のチェックを入れた時に表示されるメッセージだと思うのですが、
このメッセージで、「OK」と「キャンセル」で自動実行マクロの挙動を変えたいので
す。
よろしくお願いします。
[
△
]
RE:06971 【お知恵拝借願い】受信完了メッ
No.06974
秀まるお2
さん 20/07/20 17:10
そこのOKキャンセルボタンの違いですが、OKボタンを押せば秀丸メール本体ウィン
ドウが表に出てきて、キャンセルボタンを押せばウィンドウが出てこない、というだ
けのつもりです。
「受信が一段落した時」のマクロは必ず実行されてしまうのですが、とりあえず、
OKを押したのかキャンセルを押したのかどうかを、秀丸メール本体ウィンドウが表に
出ていてアクティブになってるかどうかで判断できると思います。
サンプルマクロとしては、例えばこんな風になります。
loaddll "tkinfo.dll";
#foreground = dllfunc("Bypass_GetForegroundWindow");
#turukame = dllfunc("MainWnd");
if( #turukame != 0 && #foreground == #turukame ) {
message "秀丸メール本体ウィンドウがアクティブです。";
} else {
message "秀丸メール本体ウィンドウはインアクティブ、または常駐のみの
状態です。";
}
OKボタンを押した場合は「アクティブです」が表示されると思います。
そういう判定を使う作戦でどうでしょうか。
[
△
]
RE:06974 【お知恵拝借願い】受信完了メッ
No.06977
dszhm
さん 20/07/22 14:36
> サンプルマクロとしては、例えばこんな風になります。
>
> loaddll "tkinfo.dll";
> #foreground = dllfunc("Bypass_GetForegroundWindow");
> #turukame = dllfunc("MainWnd");
> if( #turukame != 0 && #foreground == #turukame ) {
> message "秀丸メール本体ウィンドウがアクティブです。";
> } else {
> message "秀丸メール本体ウィンドウはインアクティブ、または常駐のみの
>状態です。";
> }
>
> OKボタンを押した場合は「アクティブです」が表示されると思います。
>
> そういう判定を使う作戦でどうでしょうか。
ご教示の方法で思うような切り分けができるようになりました。
ありがとうございました。
[
△
]