Ciao...
Strano,il codice di Francesco funziona perfettamente,cmq in alternativa ti posto il codice
Vanno messi prima di ogni cosa,cioè prima della classe e di ogni sub
codice:
Imports System
Imports System.Runtime.InteropServices
Crei una nuova classe
codice:
Public Class Win32Bridge
Public Sub New()
End Sub
<DllImport("User32.dll")> _
Protected Shared Function GetKeyState(ByVal nVirtKey As Integer) As Short
End Function
Public Shared Function IsKeyOn(ByVal nKey As Integer) As Boolean
Return ((GetKeyState(nKey) And 1) > 0)
End Function
End Class
Qui inizia la classe del tuo form....
Dichiari la variabile per il tasto
codice:
Public Class Form1
Private Const VK_CAPITAL As Integer = &H14
Crei una funzione,così da poterla richiamare facilmente
codice:
Private Sub Capsl()
If Win32Bridge.IsKeyOn(CType(VK_CAPITAL, Integer)) Then
MsgBox("CapsLock")
End If
End Sub
Richiami la funzione dove vuoi,io in questo caso l'ho messa in "form load"
codice:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Capsl()
End Sub
ed Ecco fatto,se caps lock è attivo ti compare 1 messaggio...
Il codice non è mio,ma l'avevo trovato su internet...cmq funziona...
Ciao