GetFolderHotStateの判定がおかしいNo.08667
civi さん 03/04/11 12:21
 
こんにちは。civiです。
以前に、鶴亀マクロのGetFolderHotStateを使ってみたら
次のような問題がありました。

実際に受信したメールで未読状態なときに、
GetFolderHotStateを使用すると、正常に結果を返します。
ところが、(Uキーなどで)ユーザの操作でメールを未読にした場合は、
そのフォルダに未読メールがあるはずなのに、0が返ってきます。

試したマクロ
loaddll "TKInfo.dll";
#n = dllfunc("GetFolderHotState", "", "受信");
message str(#n);

使用しているバージョンは、2.62です。

[ ]
RE:08667 GetFolderHotStateの判定がおかNo.08668
たけのこ さん 03/04/11 12:43
 
たけのこです。


GetFolderHotStateのヘルプから引用です。


/////                . . . .. .
指定されたフォルダが未読フォルダ状態になっているかどうかを返します。「未
読フォルダ」というのは、例えば何かメールを受信してフォルダに振り分けられ
た時に、フォルダ用のアイコンが水色に変わった状態のことを言います。フォル
ダを選択して1秒程度放置すると未読フォルダ状態が解除されます。
/////

即ち、当該館数は未読『メール』があるか否かではなく、『フォルダ』が未読状
態か否かを返すものですので、使用目的が異なっていると思われます。
GetFolderMailCount関数が、目的にかなうのではないでしょうか?

(^^)/”

[ ]
RE:08668 GetFolderHotStateの判定がおかNo.08669
civi さん 03/04/11 16:31
 
civiです。返答ありがとうございます。

>即ち、当該館数は未読『メール』があるか否かではなく、『フォルダ』が未読状
>態か否かを返すものですので、使用目的が異なっていると思われます。
>GetFolderMailCount関数が、目的にかなうのではないでしょうか?

おっしゃるとおりでした。
「フォルダが未読状態=未読メールが存在するフォルダ」
だと思っていました。
GetFolderMailCountの説明を読んでいたら、気づいていたと思いますが、
単にフォルダ内のメール数を返す関数だと思い込んでいたので
気づきませんでした。

おかげさまで目的の動作を確認することができました。
ありがとうございました。

[ ]