Невозможно установить vbAccelerator Keyboard Hook DLL с VB6 в Windows 7 - PullRequest
0 голосов
/ 13 августа 2010

Мой проект VB6 требует сочетаний клавиш для управления панелью инструментов в его форме MDI.Для этого я использовал vbAccelerator Keyboard Hook с vbalHook6.dll, найденным в vbAccelerator Hooks (спасибо Alex K за это предложение), я получаю Runtime Error '429', т.е. ActiveXОбъект не может быть создан.Я ссылался на требуемую DLL в проекте, а также пытался зарегистрировать dll в Windows, используя утилиту Registry Server (regsvr32), но она не может зарегистрироваться с кодом ошибки 0x80004005.Я посмотрел на ActiveX не могу создать объект - vbAccelerator , который конкретно объясняет причины этого типа ошибки и ее решение, но у меня это не сработало.Проект, поставляемый с Keyboard Hook 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

Функция завершения

1 Ответ

1 голос
/ 13 августа 2010

Это ошибка UAC / Permissions; Если на Vista / Win7 щелкните правой кнопкой мыши значок командной строки, выберите «Запуск от имени администратора», а затем regsvr32 c:\whatever\xxxx.dll.

...