Функция 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
Дескриптор сервера узла сеанса удаленных рабочих точек. Укажите дескриптор, открытый функцией WTSOpenServer, или укажите WTS_CURRENT_SERVER_HANDLE, чтобы указать сервер узла сеансов удаленных рабочих столов, на котором работает приложение.
[in] SessionId
Идентификатор сеанса служб удаленных рабочих столов. Чтобы указать текущий сеанс, укажите WTS_CURRENT_SESSION. Вы можете использовать функцию WTSEnumerateSessions для получения идентификаторов всех сеансов на указанном сервере узла сеансов удаленных рабочих столов.
Чтобы отправить сообщение в сеанс другого пользователя, необходимо иметь разрешение на сообщение. Дополнительные сведения см. в службах удаленных рабочих столов
Разрешения. Чтобы изменить разрешения на сеанс, используйте средство администрирования службы удаленных рабочих столов.
[in] pTitle
Указатель на строку заголовка окна сообщения, завершаемую значением NULL.
[in] TitleLength
Длина строки заголовка в байтах.
[in] pMessage
Указатель на строку, завершающуюся значением NULL, содержащую отображаемое сообщение.
[in] MessageLength
Длина строки сообщения в байтах.
[in] Style
Содержимое и поведение поля сообщения. Обычно это значение MB_OK. Полный список значений см. в параметре uType функции MessageBox.
[in] Timeout
Время в секундах, когда функция WTSSendMessage ожидает ответа пользователя. Если пользователь не отвечает в течение интервала времени ожидания, параметр pResponse возвращает IDTIMEOUT. Если параметр Timeout равен нулю, WTSSendMessage ожидает, пока пользователь не будет отвечать.
[out] pResponse
Указатель на переменную, которая получает ответ пользователя, который может быть одним из следующих значений.
IDABORT (3)
прерывание
IDCANCEL (2)
Отмена
IDCONTINUE (11)
продолжить
IDIGNORE (5)
игнорировать
IDNO (7)
Нет
IDOK (1)
OK
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 как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
минимальный поддерживаемый сервер | Windows Server 2008 |
целевая платформа | Виндоус |
заголовка | wtsapi32.h |
библиотеки |
Wtsapi32.lib |
DLL | Wtsapi32.dll |