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)
继续
伊迪尼奥尔 (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 |
目标平台 | 窗户 |
标头 | wtsapi32.h |
库 | Wtsapi32.lib |
DLL | Wtsapi32.dll |