我在VB6項目的工作,我需要有鍵盤快捷鍵的工具欄上的控制按鈕一起崩潰的應用程序。爲了做到這一點,我使用了vbAccelerator的Win32 Hooks庫。這是我的IWindowsHook_HookProc
功能,我使用檢索擊鍵&基於按下快捷執行動作(新建Ctrl + N,按Ctrl + O用於打開和Ctrl + S進行保存),但我不知道什麼是錯的代碼與VB6 IDE一起崩潰了我的應用程序。該功能目前不完整,因爲我試圖識別「Ctrl + N」組合鍵來測試此功能。請幫我解決....: - |使用vbAccelarator Win32的掛鉤與VB IDE
Private Function IWindowsHook_HookProc(ByVal eType As EHTHookTypeConstants, ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long, bConsume As Boolean) As Long
If KeyboardlParam(lParam).KeyDown Then
Select Case True
Case Me.ActiveControl = Me
If wParam = vbKeyControl + vbKeyN Then
frmNewReport.show
bConsume = True
End If
End Select
End If
感謝您的回覆,我已經下載了vbAccerator的完整源代碼,演示瞭如何使用Keyboard Hooks,在該項目中,鉤子通過標準控件進行演示。例如;在窗體上給出一個文本框,作爲一種常規行爲,在聚焦控件後按下一個標籤將把焦點轉移到下一個控件,但在Hook的幫助下,當按下Tab時,文本框的文本像任何文字處理器一樣被選中。我使用了類似的邏輯,但使用了工具欄控件,而且由於我的主MDI表單不需要菜單欄,我只需要爲工具欄按鈕設置快捷方式。 – Kushal 2010-08-18 08:23:03