秀丸メールでの filetypeNo.10936
IKKI さん 06/08/06 00:06
 
IKKI です。こんばんは。

秀丸メール上で実行したマクロで filetype キーワードを参照すると
常に "new" を返すようですが、これは信頼できる仕様でしょうか。
それとも、たまたまそうなっているだけでしょうか。


今作っているマクロの中で、秀丸メールかどうかの判定を

$$orgdll = loaddllfile;
loaddll "TKInfo.dll";
if (result) #IsHidemaruMail = dllfunc("IsHidemaruMail");
loaddll $$orgdll;

このようにしているのですが、 DLL のロード/解放をなるべく減らしたいので

if (filetype == "new") {
  $$orgdll = loaddllfile;
  loaddll "TKInfo.dll";
  if (result) #IsHidemaruMail = dllfunc("IsHidemaruMail");
  loaddll $$orgdll;
}

このようにしても問題ないかどうか知りたいです。

よろしくお願いいたします。

[ ]
RE:10936 秀丸メールでの filetypeNo.10941
秀まるお さん 06/08/07 13:51
 
> それとも、たまたまそうなっているだけでしょうか。

 たまたまそうなってるだけですが、一応、ファイルタイプが今後変わる可能性
はほとんど無いので、そういう仕様と思って使って頂いてもかまわないです。

 他には、例えばfindwindowclassで"TuruKameFrame"ってウィンドウを探してや
って、それが無ければ、つまり秀丸メールは起動してないってことなので、自分
自身は秀丸エディタであると判定できるし、さらには、仮にマクロが秀丸メール
本体上で実行されてるのならば、

 hidemaruhandle(0) == findwindowclass("TuruKameFrame")

 で判定してやってもいいと思います。

[ ]
RE:10941 秀丸メールでの filetypeNo.10942
IKKI さん 06/08/08 00:50
 
IKKI です。こんにちは。

>  たまたまそうなってるだけですが、一応、ファイルタイプが今後変わる可能性
> はほとんど無いので、そういう仕様と思って使って頂いてもかまわないです。

わかりました。

>  他には、例えばfindwindowclassで"TuruKameFrame"ってウィンドウを探してや
> って、それが無ければ、つまり秀丸メールは起動してないってことなので、自分
> 自身は秀丸エディタであると判定できるし、さらには、仮にマクロが秀丸メール
> 本体上で実行されてるのならば、
>
>  hidemaruhandle(0) == findwindowclass("TuruKameFrame")
>
>  で判定してやってもいいと思います。

秀丸エディタと秀丸メールが同時に起動してる状態で、秀丸メールの
メール編集ウィンドウと秀丸エディタを区別する方法は、やはり
dllfunc("IsHidemaruMail") を見るしかなさそうですね。

ありがとうございました。

[ ]