もう一度、私は助けを求めます!
非表示のフォームから実行される複数のホットキーを登録できるようにしたいと考えています。以下のプログラム例のホットキーは、ALT+UPKEY が押されたときに 2 番目のフォームを切り替えます。現在は正常に動作しますが、プログラムを非表示にするコードのコメントを外すと、ホットキーが機能しなくなります。これでどこが間違っているのか、または非表示のプログラムから2番目のフォームを切り替える方法を知っている人はいますか? いつもお世話になっております。
Public Class Form1
Public Declare Function RegisterHotKey Lib "user32" (ByVal hwnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As Integer, ByVal vk As Integer) As Integer
Public Declare Function UnregisterHotKey Lib "user32" (ByVal hwnd As IntPtr, ByVal id As Integer) As Integer
Public Const WM_HOTKEY As Integer = &H312
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = WM_HOTKEY Then
Form2.Show()
End If
MyBase.WndProc(m)
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Call UnregisterHotKey(Me.Handle, 9)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call RegisterHotKey(Me.Handle.ToInt32, 0, &H1, 38) '<-- registers specific hotkeys
'Me.KeyPreview = True
'Me.ShowInTaskbar = False
'Me.ShowIcon = False
'Me.Visible = False
End Sub
End Class