SHSetUnreadMailCountA 函数 (shellapi.h)

在注册表中存储指定电子邮件帐户的当前用户的未读邮件计数。

语法

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

参数

[in] pszMailAddress

类型: LPCTSTR

指向 Unicode 中包含当前用户的完整电子邮件地址的字符串的指针。

dwCount

类型:DWORD

未读消息数。

[in] pszShellExecuteCommand

类型: LPCTSTR

指向 Unicode 中字符串的指针,该字符串包含可传递给 ShellExecute 的命令的全文。 此命令应启动拥有 pszMailAddress 引用的帐户的电子邮件应用程序。

返回值

类型: HRESULT

HRESULT,其中包括以下可能的值。

返回代码 说明
S_OK
已成功完成调用。
E_OUTOFMEMORY
可用内存不足。
E_INVALIDARG
pszMailAddresspszShellExecuteCommand 参数中的字符串参数无效。

注解

当此函数更新注册表时,新注册表项会自动标记当前时间和日期。

如果不同独立软件供应商 (指定相同电子邮件名称的 ISV) 调用此函数,则仅保存最后一次调用。 也就是说,调用此函数会覆盖以前为同一电子邮件地址保存的任何值,即使这些调用是由不同的 ISV 进行的。

建议仅为用户帐户的“main收件箱”设置未读邮件计数。 应忽略“草稿”或“已删除邮件”等子文件夹中的邮件。

当应用程序退出时,电子邮件客户端不要将未读邮件数设置为 0 非常重要,因为这会导致未读邮件数错误地报告为 0。

由于此函数使用 HKEY_CURRENT_USER,因此不应由模拟用户的系统进程调用它。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 shellapi.h
Library Shell32.lib
DLL Shell32.dll (版本 5.60 或更高版本)