Поделиться через


Функция WTSSendMessageW (wtsapi32.h)

Отображает окно сообщения на рабочем столе клиента указанного сеанса служб удаленных рабочих столов.

Синтаксис

BOOL WTSSendMessageW(
  [in]  HANDLE hServer,
  [in]  DWORD  SessionId,
  [in]  LPWSTR pTitle,
  [in]  DWORD  TitleLength,
  [in]  LPWSTR 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