{
HWND VKWnd = GetFocus();
SendMessage(VKWnd,WM_CHAR,'9',0);
這兒改成
if(VK_F2==wParam && 1 == (lParam>>30 & 1))
{
HWND VKWnd = GetFocus();
SendMessage(VKWnd,WM_CHAR,'9',0);
}
發送兩次消息的原因是,按鍵時會觸發按下和松開兩個消息。
1 == (lParam>>30 & 1)這個是用來決斷當前鍵是否松開,這樣就只會發送壹次消息了,當然妳也可以通過GetKeyState來判斷鍵是按下還是松開,然後執行壹次發送消息。