次の方法で共有


SHSetUnreadMailCountA 関数 (shellapi.h)

指定したメール アカウントの現在のユーザーの未読メッセージ数をレジストリに格納します。

構文

HRESULT SHSetUnreadMailCountA(
  [in] LPCSTR pszMailAddress,
       DWORD  dwCount,
  [in] LPCSTR pszShellExecuteCommand
);

パラメーター

[in] pszMailAddress

型: LPCTSTR

現在のユーザーの完全な電子メール アドレスを含む Unicode の文字列へのポインター。

dwCount

型: DWORD

未読メッセージの数。

[in] pszShellExecuteCommand

型: LPCTSTR

ShellExecute に渡すことができるコマンドのフルテキストを含む Unicode の文字列へのポインター。 このコマンドは、 pszMailAddress によって参照されるアカウントを所有する電子メール アプリケーションを起動する必要があります。

戻り値

種類: HRESULT

HRESULT。これには、次の値が含まれます。

リターン コード 説明
S_OK
呼び出しは、正常に完了しました。
E_OUTOFMEMORY
使用できるメモリが不足しています。
E_INVALIDARG
pszMailAddress パラメーターまたは pszShellExecuteCommand パラメーターの文字列引数が無効です。

注釈

この関数がレジストリを更新すると、新しいレジストリ エントリに現在の時刻と日付が自動的にスタンプされます。

この関数が、同じ電子メール名を指定する異なる独立系ソフトウェア ベンダー (ISV) によって呼び出された場合、最後の呼び出しのみが保存されます。 つまり、この関数の呼び出しは、異なる ISV によって呼び出しが行われた場合でも、同じメール アドレスに対して以前に保存された値を上書きします。

未読メッセージの数は、ユーザー アカウントのメイン受信トレイにのみ設定することをお勧めします。 下書きや削除済みアイテムなどのサブフォルダー内のメールは無視する必要があります。

アプリケーションが終了すると、未読メッセージの数が 0 と誤って報告されるため、電子メール クライアントが未読メッセージの数を 0 に設定しないことが重要です。

この関数はHKEY_CURRENT_USERを使用するため、ユーザーを偽装するシステム プロセスでは呼び出さないでください。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー shellapi.h
Library Shell32.lib
[DLL] Shell32.dll (バージョン 5.60 以降)