WM_UNICHAR訊息
應用程式可以使用 WM_UNICHAR 訊息,將輸入張貼到其他視窗。 此訊息包含已按下之按鍵的字元碼。 (測試目標應用程式是否可以傳送wParam設定為UNICODE_NOCHAR.) 的訊息來處理WM_UNICHAR訊息
#define WM_UNICHAR 0x0109
參數
-
wParam
-
索引鍵的字元碼。
如果 wParamUNICODE_NOCHAR ,且應用程式會處理此訊息,則傳回 TRUE。 DefWindowProc 函式會傳回FALSE (預設) 。
如果 wParam 未 UNICODE_NOCHAR,則傳回 FALSE。 Unicode DefWindowProc 會使用相同的參數張貼 WM_CHAR 訊息,而 ANSI DefWindowProc 函式會以對應的 ANSI 字元張貼一或兩個 WM_CHAR 訊息, (s) 。
-
lParam
-
重複計數、掃描程式碼、擴充金鑰旗標、內容程式碼、先前的索引鍵狀態旗標和轉換狀態旗標,如下表所示。
Bits 意義 0-15 目前訊息的重複計數。 值是使用者按住按鍵而自動回復的次數。 如果擊鍵夠長,就會傳送多個訊息。 不過,重複計數不是累計的。 16-23 掃描碼。 此值取決於 OEM。 24 指出按鍵是否為擴充按鍵,例如出現在增強型 101 或 102 鍵鍵盤上的右鍵 ALT 和 CTRL 鍵。 如果它是擴充索引鍵,則值為 1;否則為 0。 25-28 保留;請勿使用 。 29 內容程式碼。 如果按下 ALT 鍵時按住 ALT 鍵,則值為 1;否則,值為 0。 30 上一個索引鍵狀態。 如果索引鍵在傳送訊息之前關閉,則值為 1,如果索引鍵已啟動則為 0。 31 轉換狀態。 如果放開按鍵,則值為 1,如果按下按鍵則為 0。 如需詳細資訊,請參閱 擊鍵訊息旗標。
傳回值
如果應用程式處理此訊息,應用程式應該會傳回零。
備註
WM_UNICHAR訊息類似于WM_CHAR,但它使用 Unicode 轉換格式 (UTF) -32,而WM_CHAR則使用 UTF-16。
此訊息的設計目的是將 Unicode 字元傳送或張貼至 ANSI 視窗,而且可以處理 Unicode 增補平面字元。
由於按下的按鍵與產生的字元訊息之間不一定有一對一的對應, 因此 lParam 參數的高序單字資訊通常不適用於應用程式。 高序單字中的資訊僅適用于張貼WM_UNICHAR訊息之前的最新WM_KEYDOWN訊息。
針對增強的 101 和 102 鍵鍵盤,擴充鍵是鍵盤主要區段的右 ALT 和右 CTRL 鍵;數位鍵台左邊叢集中的 INS、DEL、HOME、END、PAGE UP、PAGE DOWN 和方向鍵;和 數位鍵控制板中的除 (/) 和 ENTER 鍵。 有些其他鍵盤可能支援 lParam 參數中的擴充按鍵位。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2003 [僅限桌面應用程式] |
標頭 |
|