一些帮助......如何在按下班次时使其成为可能,
然后系统会在瞬间自动释放它,
因此,即使用户仍在键盘上按下,
但是vb.net系统已经发布了shift键?
避免长按或按住键...
我已经没想到了,所以决定在做了一些认真的研究之后在这里发帖提问,如果你知道一些技巧可以做出回应,请回答......
答案 0 :(得分:1)
您可以处理KeyDown事件并检查是否按下Shift
。
e.KeyCode = Keys.Shift
您可以使用user32.dll lib并发送密钥版本。
&H10
是Shift
密钥代码。 Here是所有关键代码的列表(将0x
替换为&H
)。
&H2
表示发布。如果您要按,请输入&H0
。
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
keybd_event(&H10, 0, &H2, 0)
您可能希望处理整个表单的KeyDown事件。
Form.KeyPreview = True
这是一个例子。
Public Class Form1
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Me.KeyPreview = True
End Sub
Private Sub Form1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Shift Then
Form1.keybd_event(&H10, 0, &H2, 0)
End If
End Sub
End Class