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 工作話主機伺服器上所有會話的標識碼。

若要將訊息傳送給其他使用者的會話,您必須擁有 Message 許可權。 如需詳細資訊,請參閱 遠端桌面服務
權限]
。 若要修改會話的許可權,請使用遠端桌面服務組態系統管理工具。

[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 標頭會根據 UNICODE 預處理器常數的定義,將 WTSSendMessage 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 wtsapi32.h
程式庫 Wtsapi32.lib
Dll Wtsapi32.dll

另請參閱

MessageBox