Мне нужно решение на 99% заключено в принятом решении, связанном ниже:
Как выполнить событие .Onkey в надстройке Excel, созданной в Visual Studio 2010?
Однако, похоже, он не работает для перехвата клавиши ALT.Я осмотрелся и наткнулся на несколько примеров C #, но я новичок в программировании и изучаю VB .NET, поэтому с моим уровнем знаний я не смог успешно перенести код в другие примеры C #, чтобы он работал в моемПроект VB .NET.
Поскольку приведенный выше код уже делает все, что мне нужно, я хотел бы продолжать его использовать, но я был бы признателен, если бы кто-то показал мне, как заставить его также подключить клавишу ALT,Я полагаю, что существует константа, которую необходимо передать и проверить особым образом, но я не смог ее выяснить за последние 4 дня с момента нахождения этого решения.Любая помощь будет принята с благодарностью.
Большое спасибо!
Редактировать: @Vincent, вот код, который я тестирую с ошибками переполнения:
Imports InputHelperLib
Public Class ThisAddIn
Dim KeyboardHook As InputHelper.Hooks.LocalKeyboardHook
Private Sub ThisAddIn_Startup() Handles Me.Startup
KeyboardHook = New InputHelper.Hooks.LocalKeyboardHook
AddHandler KeyboardHook.KeyDown, AddressOf KeyboardHook_KeyDown
AddHandler KeyboardHook.KeyUp, AddressOf KeyboardHook_KeyUp
End Sub
Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown
If KeyboardHook IsNot Nothing Then KeyboardHook.Dispose()
End Sub
Private Sub KeyboardHook_KeyDown(sender As Object, e As InputHelper.Hooks.KeyboardHookEventArgs)
If e.Modifiers = InputHelper.ModifierKeys.Alt AndAlso e.KeyCode = System.Windows.Forms.Keys.M Then
System.Windows.Forms.MessageBox.Show("ALT + M was pressed!")
End If
End Sub
Private Sub KeyboardHook_KeyUp(sender As Object, e As InputHelper.Hooks.KeyboardHookEventArgs)
If e.Modifiers = InputHelper.ModifierKeys.Alt AndAlso e.KeyCode = System.Windows.Forms.Keys.M Then
System.Windows.Forms.MessageBox.Show("ALT + M was released!")
End If
End Sub
End Class