當前位置:編程學習大全網 - 電腦編程 - vc 鍵盤鉤子 攔截按鍵,再SendMessage,但是為何SendMessage發送兩次?

vc 鍵盤鉤子 攔截按鍵,再SendMessage,但是為何SendMessage發送兩次?

f(VK_F2==wParam)

{

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來判斷鍵是按下還是松開,然後執行壹次發送消息。

  • 上一篇:模芯cnc不編程怎麽預估加工時間怎麽算
  • 下一篇:國際教育機器人大會亞洲分會昆明地點
  • copyright 2024編程學習大全網