我的VB6項目需要在其MDI窗體中使用工具欄控件的鍵盤快捷鍵。爲此,我使用了vbAccelerator Keyboard Hook,在vbAccelerator Hooks(感謝Alex K對此建議)中找到vbalHook6.dll,我得到運行時錯誤'429',即ActiveX對象無法創建。我已經使用該項目引用了所需的DLL,並且還嘗試使用註冊表服務器實用程序(regsvr32)在Windows上註冊dll,但未能註冊錯誤代碼0x80004005。我看着ActiveX Can't Create Object - vbAccelerator,這具體解釋了這種類型的錯誤&其解決方案的原因,但它並沒有爲我工作。 Keyboard Hook DLL提供的項目在我的計算機上運行良好,但與我的項目無關。請幫我解決...............: - |謝謝..........無法在Windows 7中使用VB6安裝vbAccelerator鍵盤鉤子DLL
[更新]
與 Alex K幫助再次,我已經成功註冊了所有必需的DLL文件....
但是,事情又上漲錯誤....
這裏是我的IWindowsHook_HookProc
方法的代碼,以獲得我想在我的應用程序中作爲捷徑的組合鍵。如果任何按鍵被按下,下面的代碼有什麼問題會導致VB和我的應用程序崩潰。
我還希望在快捷方式中包含保存(Ctrl + s)和打開(Ctrl + O),我如何形成鏈式條件以識別特定的組合鍵......?
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
端功能
謝謝,我已經成功註冊了它。但是,掛鉤仍然無法識別我的組合鍵,我猜我的代碼不正確,並且在執行過程中按任意鍵時會導致VB6崩潰。我的原始問題中包含IWindowsHook_HookProc函數。我是高級VB編程的新手,所以幫我解決....: - |謝謝..... – Kushal 2010-08-13 17:32:25