I just wrote a textbox class to capture WM_KEYDOWN/WM_KEYUP/WM_SYSKEYDOWN/WM_SYSKEYUP events:

Code:
Public Class MyTextbox
    Inherits TextBox

    Public Const WM_KEYDOWN = &H100
    Public Const WM_KEYUP = &H101
    Public Const WM_SYSKEYDOWN = &H104
    Public Const WM_SYSKEYUP = &H105

    Protected Overrides Sub WndProc(ByRef m As Message)

            Select Case m.Msg
                Case WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, WM_SYSKEYUP

                    Dim vk = m.WParam
                    Form1.ListBox1.Items.Add(m.Msg.ToString & " - " & vk.ToInt64)
            End Select

            MyBase.WndProc(m)


    End Sub
#End If

End Class
It works well on Windows 10 , When I press the Ctrl + Shift key, I received 4 lines (up & down key for ctrl + shift) on the listbox

However on Windows 7, when I press Ctrl+ Shift key, It's missing on KEYUP event.