You need to call the Win32 GetKeyState function. The following program snippet shows how to call it. Note that I did not include the form layout code in the sample.
Imports System.Runtime.InteropServices
Public Class Win32
Declare Auto Function GetKeyState Lib "user32.dll" _
(ByVal nVirtKey As Integer) As Integer
End Class
Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Button1.Click
' &H2D is VK_INSERT.
Dim x As Integer = Win32.GetKeyState(&H2D)
If (&H1 = (&H1 And x)) Then
Label1.Text = "Insert key down"
Else
Label1.Text = "Insert key up"
End If
End Sub
End Class
This was first published in May 2003