一次可以注册多少个按键VB.NET有限制吗?

Is there a limit to how many key presses VB.NET can register at once?

所以我目前正在设计我的 A-level 计算项目,我需要知道 VB.NET 是否可以同时注册多个按键,例如 F&J,并且能够将它们视为单独的按键.我可能需要一次最多 4 个按键,所以如果 VB.NET 做不到,我的程序将受到限制(虽然只是轻微的)。

如果可能的话,我是将其视为没有同时按下并分别检查两个键,还是有特殊的检测方法?

提前致谢。

据说你可以检查注册表

Dim KeyboardDataQueueSize = My.Computer.Registry.GetValue(
            "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kbdclass\Parameters", 
            "KeyboardDataQueueSize", Nothing)

https://www.google.com/search?q=keyboard+buffer+size

您可以跟踪按下和释放的键。

新建winforms项目,添加Label。这应该会给你一个很好的起点。

Public Class Form1

    Private pressedKeys As New List(Of System.Windows.Forms.Keys)()

    Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
        If Not pressedKeys.Contains(e.KeyCode) Then pressedKeys.Add(e.KeyCode)
        printCurrentKeys()
    End Sub

    Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles MyBase.KeyUp
        If pressedKeys.Contains(e.KeyCode) Then pressedKeys.Remove(e.KeyCode)
        printCurrentKeys()
    End Sub

    Private Sub printCurrentKeys()
        If pressedKeys.Count > 0 Then
            Me.Label1.Text = pressedKeys.
                Select(Of String)(Function(k) Chr(k)).
                Aggregate(Function(s1, s2) s1 & ", " & s2)
        Else
            Me.Label1.Text = ""
        End If
    End Sub

End Class

(以上8个按键是我的anti-ghosting keyboard, the Sidewinder X4实现的)