SHGetUnreadMailCountA 函数 (shellapi.h)

检索任何或所有电子邮件帐户的指定用户的未读邮件计数。

语法

HRESULT SHGetUnreadMailCountA(
  [in, optional]  HKEY     hKeyUser,
  [in, optional]  LPCSTR   pszMailAddress,
  [out, optional] DWORD    *pdwCount,
  [out, optional] FILETIME *pFileTime,
  [out, optional] LPSTR    pszShellExecuteCommand,
                  int      cchShellExecuteCommand
);

参数

[in, optional] hKeyUser

类型: HKEY

给定用户的有效 HKEY。 如果在用户的环境中调用函数,则此参数应为 NULL ,在这种情况下,使用 HKEY_CURRENT_USER 。 如果从 SYSTEM 上下文调用函数,则此参数应为 NULL ,在这种情况下 ,使用 HKEY_USERS\{SID}

[in, optional] pszMailAddress

类型: LPCTSTR

指向 Unicode 中字符串的指针,该字符串指定属于指定用户的帐户的电子邮件地址。 如果此参数为 NULL,pdwCount 将返回指定用户拥有的所有帐户的未读邮件总数。

[out, optional] pdwCount

类型: DWORD*

指向接收未读消息计数的 DWORD 值的指针。

[out, optional] pFileTime

类型: FILETIME*

指向 FILETIME 结构的指针。 此参数的使用取决于 pszMailAddress 是否为 NULL。 如果 pszMailAddressNULL,则此参数被视为指定筛选器的 [in] 参数,以便仅显示比指定时间新的未读邮件。 如果 pszMailAddress 不为 NULL,则此参数被视为 [out] 参数,该参数指向 FILETIME 结构,函数将指定用户和电子邮件帐户的最后一个 SHSetUnreadMailCount 调用的时间戳放入其中。

[out, optional] pszShellExecuteCommand

类型: LPCTSTR

指向字符串的指针,该字符串返回传递到指定用户和电子邮件帐户的最后一个 SHSetUnreadMailCount 调用中的 ShellExecute 命令语句。 此命令字符串启动拥有 pszMailAddress 引用的帐户的电子邮件应用程序。 如果不需要 ShellExecute 命令,则此参数可以为 NULL。 如果 pszMailAddressNULL,则此参数将被忽略,并且必须为 NULL

cchShellExecuteCommand

类型: int

pszShellExecuteCommand 指向的 ShellExecute 命令缓冲区的最大大小(以字符为单位)。 当 pszMailAddress 为 NULL 时,对于总计数,此参数必须为。 每当不需要 ShellExecute 命令字符串时,它也可以为 NULL

返回值

类型: HRESULT

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

要求

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