WTSSendMessageA 函数 (wtsapi32.h)
在指定远程桌面服务会话的客户端桌面上显示消息框。
语法
BOOL WTSSendMessageA(
[in] HANDLE hServer,
[in] DWORD SessionId,
[in] LPSTR pTitle,
[in] DWORD TitleLength,
[in] LPSTR pMessage,
[in] DWORD MessageLength,
[in] DWORD Style,
[in] DWORD Timeout,
[out] DWORD *pResponse,
[in] BOOL bWait
);
参数
[in] hServer
RD 会话主机服务器的句柄。 指定 由 WTSOpenServer 函数打开的句柄,或指定 WTS_CURRENT_SERVER_HANDLE 以指示运行应用程序的 RD 会话主机服务器。
[in] SessionId
远程桌面服务会话标识符。 若要指示当前会话,请指定 WTS_CURRENT_SESSION。 可以使用 WTSEnumerateSessions 函数检索指定 RD 会话主机服务器上所有会话的标识符。
若要将消息发送到其他用户的会话,需要具有“消息”权限。 有关详细信息,请参阅 远程桌面服务
权限”。 若要修改会话的权限,请使用远程桌面服务配置管理工具。
[in] pTitle
指向消息框标题栏的以 null 结尾的字符串的指针。
[in] TitleLength
标题栏字符串的长度(以字节为单位)。
[in] pMessage
指向包含要显示的消息的以 null 结尾的字符串的指针。
[in] MessageLength
消息字符串的长度(以字节为单位)。
[in] Style
消息框的内容和行为。 此值通常 MB_OK。 有关值的完整列表,请参阅 MessageBox 函数的 uType 参数。
[in] Timeout
WTSSendMessage 函数等待用户响应的时间(以秒为单位)。 如果用户在超时间隔内未响应, pResponse 参数将返回 IDTIMEOUT。 如果 Timeout 参数为零, WTSSendMessage 将无限期等待用户响应。
[out] pResponse
指向接收用户响应的变量的指针,可以是以下值之一。
IDABORT (3)
中止
IDCANCEL (2)
取消
IDCONTINUE (11)
继续
IDIGNORE (5)
忽略
IDNO (7)
是
IDOK (1)
确定
IDRETRY (4)
重试
IDTRYAGAIN (10)
再试一次
IDYES (6)
是
IDASYNC (32001 (0x7D01) )
bWait 参数为 FALSE,因此函数返回时未等待响应。
IDTIMEOUT (32000 (0x7D00) )
bWait 参数为 TRUE,超时间隔已过。
[in] bWait
如果 为 TRUE,则在用户响应或超时间隔过后, WTSSendMessage 不会返回。 如果 Timeout 参数为零,则函数在用户响应之前不会返回。
如果 为 FALSE,则函数将立即返回, pResponse 参数返回 IDASYNC。 对于不需要将用户对调用程序的响应返回的简单信息消息 (,例如打印作业通知消息) ,请使用此方法。
返回值
如果函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
注意
wtsapi32.h 标头将 WTSSendMessage 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | wtsapi32.h |
Library | Wtsapi32.lib |
DLL | Wtsapi32.dll |