函式功能
函式功能:該函式將虛擬鍵碼翻譯為掃描碼或字元值,或者將掃描碼翻譯為虛擬鍵碼。該函式使用由給她鍵盤布局句柄標識的物理鍵盤和輸入語言來翻譯這些代碼。
函式原型:UINT MapVirtualKeyEx(UINT UCODE,UINT uMapType,HKL dwhkl);
參數說明
參數:
uCode:定義一個鍵的虛擬鍵碼或掃描碼。該值如何解釋依賴於uMapType參數的值。
uMapType:定義將要執行的翻譯。該參數的值同MapVirtuaIKe。
dwhkl:翻譯給定代碼所使用的鍵盤布局的句柄。該參數值可以是在此之前調用LoadKeyboardLayout函式返回的任何鍵盤布局句柄。
返回值:返回值可以是一掃描碼,或一虛擬鍵碼,或一字元值,這完全依賴於不同的uCode和uMapType的值。若未進行翻譯,則函式返回O。
返回值:返回值可以是一掃描碼,或一虛擬鍵碼,或一字元值,這完全依賴於不同的uCode和uMapType的值。若未進行翻譯,則函式返回0。
備註:應用程式可以使用MapVirtualKeyEx將掃描碼翻譯為虛擬鍵碼常數VK_SHIT;VK_CONTROL和VK_MENU。反之亦然。這些翻譯不區分左右shift,ctrl,alt鍵。應用程式可以通過調用MapVirtualKey函式時將uCode參數設定為如下的虛擬鍵碼常數來獲得分別相應於上述鍵的左右鍵的掃描碼:
Vk_LSHIFT,VK_RDHIFT;VK_LCONTROL,VK_RCONTROL;VK_LMENU,VK_RMENU
僅當應用程式調用GetKeyboardState,SetkeyboardState,GetAsyncKeyState,GetKeyState,MapVirtuaIKey和MapVirtualKeyEx函式時,才可用這些區分左右鍵的常數。若要查看完整的虛擬鍵碼錶,請參考Virtual.KeyCodes。
速查:Windows NT:4.0及以上版本;Windows:95及以上版本;Windows CE:不支持;頭檔案:winuser.h;庫檔案:user32.lib;Unicode:在Windows NT上實現為Unicode和ANSI兩種版本。