我想用VB.NET編一個程式,設定2個快捷鍵。小鍵盤-是復制,小鍵盤+是增加,原來輸入-+的功能不要了,在VB.NET編的程式界面里可以實作。
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = 109 Then
...
End If
End Sub
我想問的是,當我這個程式在后臺時,如何仍然可以實作這兩個快捷鍵繼續有效呢。就是在其他別的程式界面,一樣可以使用這兩個快捷鍵?求指點,謝謝啦。網上找到一段,不過這個是CTRL+T的組合快捷鍵,不知道怎么實作單個按鍵的快捷鍵呢。
Public Const WM_HOTKEY = &H312
Public Const MOD_ALT = &H1
Public Const MOD_CONTROL = &H2
Public Const MOD_SHIFT = &H4
Public Const GWL_WNDPROC = (-4)
Public Declare Auto Function RegisterHotKey Lib "user32.dll" Alias _
"RegisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer, ByVal fsModifiers As Integer, ByVal vk As Integer) As Boolean
Public Declare Auto Function UnRegisterHotKey Lib "user32.dll" Alias _
"UnregisterHotKey" (ByVal hwnd As IntPtr, ByVal id As Integer) As Boolean
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
RegisterHotKey(Handle, 0, MOD_CONTROL, Asc("T")) '注冊Ctrl+T的組合鍵
End Sub
Protected Overrides Sub WndProc(ByRef m As Message)
If m.Msg = WM_HOTKEY Then
If Visible Then
Hide()
Else
Show()
End If
End If
MyBase.WndProc(m)
End Sub
Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
UnRegisterHotKey(Handle, 0)
End Sub
求助大家了,謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/270247.html
標籤:VB.NET
