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,其中包括以下可能的值。
返回代码 | 说明 |
---|---|
|
已成功完成调用。 |
|
可用内存不足。 |
|
pszMailAddress 或 pszShellExecuteCommand 参数中的字符串参数无效。 |
注解
当此函数更新注册表时,新注册表项会自动标记当前时间和日期。
如果不同独立软件供应商 (指定相同电子邮件名称的 ISV) 调用此函数,则仅保存最后一次调用。 也就是说,调用此函数会覆盖以前为同一电子邮件地址保存的任何值,即使这些调用是由不同的 ISV 进行的。
建议仅为用户帐户的“main收件箱”设置未读邮件计数。 应忽略“草稿”或“已删除邮件”等子文件夹中的邮件。
当应用程序退出时,电子邮件客户端不要将未读邮件数设置为 0 非常重要,因为这会导致未读邮件数错误地报告为 0。
由于此函数使用 HKEY_CURRENT_USER,因此不应由模拟用户的系统进程调用它。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shellapi.h |
Library | Shell32.lib |
DLL | Shell32.dll (版本 5.60 或更高版本) |