我的 VB6 项目在其 MDI 窗体中需要用于工具栏控件的键盘快捷键。为此,我在 vbAccelerator Hooks 中使用了带有 vbalHook6.dll 的 vbAccelerator Keyboard Hook (感谢Alex K的建议),我收到运行时错误“429”,即无法创建 ActiveX 对象。我已经在项目中引用了所需的 DLL,并且还尝试使用注册表服务器实用程序 (regsvr32) 将 dll 注册到 Windows,但它无法注册,错误代码为 0x80004005。我查看了ActiveX 无法创建对象 - 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
结束功能