Функция 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
Целевая платформа Windows
Header wtsapi32.h
Библиотека Wtsapi32.lib
DLL Wtsapi32.dll

См. также раздел

Messagebox