inSendMessageEx 函式 (winuser.h)
判斷目前的視窗程式正在處理從同一個進程中的另一個執行緒 (傳送的訊息,還是處理不同的進程) 。
語法
DWORD InSendMessageEx(
LPVOID lpReserved
);
參數
lpReserved
類型: LPVOID
保留;必須是 Null。
傳回值
類型: DWORD
如果未傳送訊息,傳回值 會ISMEX_NOSEND (0x00000000) 。 否則,傳回值是下列一或多個值。
傳回碼/值 | 描述 |
---|---|
|
訊息是使用 SendMessageCallback 函式傳送。 傳送訊息的執行緒不會遭到封鎖。 |
|
訊息是使用 SendNotifyMessage 函式傳送。 傳送訊息的執行緒不會遭到封鎖。 |
|
視窗程式已處理訊息。 已不再封鎖傳送訊息的執行緒。 |
|
訊息是使用 SendMessage 或 SendMessageTimeout 函式傳送。 如果未設定 ISMEX_REPLIED ,則會封鎖傳送訊息的執行緒。 |
備註
若要判斷傳送者是否遭到封鎖,請使用下列測試:
fBlocked = ( InSendMessageEx(NULL) & (ISMEX_REPLIED|ISMEX_SEND) ) == ISMEX_SEND;
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包括 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
API 集合 | ext-ms-win-ntuser-message-l1-1-0 (在 Windows 8) |
另請參閱
概念
參考