WM_SYSKEYDOWN訊息

當使用者按下 F10 鍵 (啟動功能表列) 或按住 ALT 鍵,然後按下另一個按鍵時,張貼到具有鍵盤焦點的視窗。 當目前沒有視窗具有鍵盤焦點時,也會發生此情況;在此情況下, 會將WM_SYSKEYDOWN 訊息傳送至使用中視窗。 接收訊息的視窗可以藉由檢查 lParam 參數中的內容程式碼來區別這兩個內容。

#define WM_SYSKEYDOWN                   0x0104

參數

wParam

按下之按鍵的虛擬按鍵碼。 請參閱 虛擬金鑰代碼

lParam

重複計數、掃描程式碼、擴充索引鍵旗標、內容程式碼、先前的索引鍵狀態旗標和轉換狀態旗標,如下表所示。

Bits 意義
0-15 目前訊息的重複計數。 值是按鍵自動回復的次數,因為使用者按住按鍵。 如果按鍵保留夠長,則會傳送多個訊息。 不過,重複計數不是累計的。
16-23 掃描碼。 此值取決於 OEM。
24 指出按鍵是否為擴充按鍵,例如出現在增強型 101 或 102 鍵鍵盤上的右鍵 ALT 和 CTRL 鍵。 如果它是擴充索引鍵,則值為 1;否則為 0。
25-28 保留;請勿使用。
29 內容程式碼。 如果按下 ALT 鍵時關閉,此值為 1;如果 WM_SYSKEYDOWN 訊息張貼到使用中視窗,則為 0,因為沒有視窗具有鍵盤焦點。
30 上一個索引鍵狀態。 如果索引鍵在傳送訊息之前關閉,則值為 1,如果索引鍵已啟動,則為 0。
31 轉換狀態。 WM_SYSKEYDOWN 訊息的值 一律為 0。

如需詳細資訊,請參閱 擊鍵訊息旗標

傳回值

如果應用程式處理此訊息,應用程式應該會傳回零。

備註

DefWindowProc函式會檢查指定的索引鍵,並在索引鍵為 TAB 或 ENTER 時產生WM_SYSCOMMAND訊息。

當內容程式碼為零時,訊息可以傳遞至 TranslateAccelerator 函式,其處理方式就像是一般索引鍵訊息,而不是字元鍵訊息。 這可讓快速鍵與使用中視窗搭配使用,即使使用中視窗沒有鍵盤焦點也一樣。

由於自動重複,傳送WM_SYSKEYUP訊息之前,可能會發生多個WM_SYSKEYDOWN訊息。 先前的索引鍵狀態 (位 30) 可用來判斷 WM_SYSKEYDOWN 訊息指出第一個向下轉換或重複的向下轉換。

針對增強的 101 和 102 鍵鍵盤,增強鍵是鍵盤主要區段的右 ALT 鍵和 CTRL 鍵;數位鍵板左邊的 INS、DEL、HOME、END、PAGE UP、PAGE DOWN 和方向鍵;和 數位鍵板中的除 (/) 和 ENTER 鍵。 其他鍵盤可能支援 lParam 參數中的擴充按鍵位。

每當使用者按下 F10 鍵而不使用 ALT 鍵時,也會傳送此訊息。

規格需求

需求
最低支援的用戶端
Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Winuser.h (包含 Windows.h)

另請參閱