GetMailFlag/SetMailFlag関数(TKInfo.dll)(Ver7.22対応版)
 GetMailFlagは、メール毎に存在する各種のフラグの値を取得します。SetMailFlagはそれらのフラグの値を書き換えます。

 この関数は秀丸メール本体上でもメールエディタ上でも実行できます。
パラメータ1(文字列型)
 フラグの種類を指定します。フラグの種類には以下の名前が指定できます。
attach 添付ファイル付きかどうか
send 送信系メールかどうか
messageid Message-IDを含んだメールかどうか
inreplyid 「In-Reply-To:」または「References:」付きのメールかどうか
mark マークされているかどうか
cc 複数宛先メールかどうか
encoded エンコードされた形かどうか(受信ログ/送信ログかどうか)
priority1 「優先度=高」かどうか
orikaeshi 自動折り返しがONかどうか
sent 送信済みメールかどうか(送信系の場合のみ)
html HTMLメールかどうか(受信系の場合のみ)
reply 受信系の場合、返信済みかどうか
forward 受信系の場合、転送済みかどうか
unread 未読かどうか
altered 改変されたかどうか
hot 新着メールかどうか
memo メモ付きかどうか
sentunknown 送信されたかどうか不定 のフラグ
spam 迷惑メールかどうか


パラメータ2(SetMailFlagのみ、数値型)
 フラグをセットする場合は1、リセットする場合は0を指定します。SetMailFlagできるフラグは、send, mark, orikaeshi, sent, reply, forward, unread, altered, hot, sentunknownのみで、他のフラグは書き換えできません。


返り値(数値型)
 GetMailFlag関数は、フラグがセットされていると1、セットされてないと0を返します。たとえば"unread"は、未読の場合は1、既読の場合は0を返します。

 SetMailFlag関数は、フラグの書き換えに成功すると1、失敗すると0を返します。


制限事項
 GetMailFlag関数は、まだ保存されてないメール上、例えば「新規メール」や「返信メール」などのコマンドで作成されたエディタ・ウィンドウ上ではうまく機能しません。また、「草稿に保存」とした後のメールだとしても、一度エディタ・ウィンドウを閉じてまた開いた場合にしか機能しないです。
 送信系メールでは、例えば添付ファイルの有無はX-Attach:ヘッダの有無で判断するなど、他の方法を使ってください。
 SetMailFlag関数も同様に、まだ保存されてないメール上では機能しません。


備考
 複数のメールを選択した状態でSetMailFlag関数を呼び出した場合、V5.51以下では点線枠の付いてるメール1通だけしかフラグが変わりませんでした。V5.52以降からは、選択したメールすべてのフラグが指定した値に変わります。


例(現在のメールを新着にする例)
#n = dllfunc("GetMailFlag", "hot");
if( #n == 0 ) #n = dllfunc("SetMailFlag", "hot", 1);