|
こさくさん今日は、ひろです。
> 『新着メールが来た際にポップアップウィンドウ(表現はあってますか?)を
> 表示する機能があるとうれしい』と言う意見を社内のユーザからもらいました。
標準機能として付けて欲しいということであれば、的外れですが「受信が
一段落した時」のマクロとして、そういった機能を書いたマクロを指定すれ
ばできます。因みに次のようなマクロになります。
//-------------------------- mailpopup.mac ---------------------------
//鶴亀メール受信が一段落したとき用 macro Ver.0.32
//新規 mail があれば message -> 未読 mail に foucs 移動
openreg "CURRENTUSER","Software\\Hidemaruo\\TuruKame\\Config";
if(!result){
message "鶴亀がインストールされてない!";
endmacro;
}
closereg;
loaddll "tkinfo.dll";
if(!result) {
message "DLLロードに失敗";
endmacro;
}
if(hidemarucount > 1)goto ENDING;
if((dllfunc("IsTrayIcon") == 1 && dllfunc("MainWnd") == 0)
|| dllfunc("IsIcon") == 1){
question "新着メールが "+ str(dllfunc("RecvMailCount")) +
" 通届いています。\nメールを読みますか?";
if(!result)goto ENDING;
#n = dllfunc("RestoreWindow");
//current folder 保存
$account = dllfuncstr("CurrentAccount");
$folder = dllfuncstr("CurrentFolder");
if($folder !=""){
#thread = dllfunc("IsThreadView");
if(#thread)if(!dllfunc("SetThreadView",0))goto error;
#mailIndex = dllfunc("MailIndex");
if(#thread)if(!dllfunc("SetThreadView",1))goto error;
}
if(!dllfunc("SelectFolder", dllfuncstr("Account",0),""))goto error;
//NextUnread で移動しない場合元に戻すので folder 情報保存
$account2 = dllfuncstr("CurrentAccount");
$folder2 = dllfuncstr("CurrentFolder");
#thread2 = dllfunc("IsThreadView");
if(#thread2)if(!dllfunc("SetThreadView",0))goto error;
#mailIndex2 = dllfunc("MailIndex");
if(#thread2)if(!dllfunc("SetThreadView",1))goto error;
#n = dllfunc("NextUnread");
if($account2 == dllfuncstr("CurrentAccount")
&& $folder2 == dllfuncstr("CurrentFolder")){
#thread2 = dllfunc("IsThreadView");
if(#thread2)if(!dllfunc("SetThreadView",0))goto error;
if(#mailIndex2 == dllfunc("MailIndex")){
if(#thread2)if(!dllfunc("SetThreadView",1))goto error;
call ReselectMail;
}
}
}
goto ENDING;
ReselectMail:
if(!dllfunc("SelectFolder",$account,$folder))goto error;
if($folder !=""){
if(#thread)if(!dllfunc("SetThreadView",0))goto error;
if(#mailIndex != -1)if(!dllfunc("SetMailIndex",#mailIndex))
goto error;
if(#thread)if(!dllfunc("SetThreadView",1))goto error;
}
return;
error:
message "DLL 関数の処理に失敗しました。";
ENDING:
freedll;
endmacro:
//------------------------ end macro --------------------------------
マクロの機能としては、エディタ・ウィンドを開いておらず、本体が最小
化/常駐のどちらかで、新着メールがあれば
+--------------------------------+
| 新着メールが ? 通届いています。|
| メールを読みますか?" |
| [はい] [いいえ] |
+--------------------------------+
というメッセージを表示し、[はい] を選択すると先頭の未読メールにフォー
カスを移動させます。
|
|