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
Crei una nuova classecodice:Imports System Imports System.Runtime.InteropServices
Qui inizia la classe del tuo form....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
Dichiari la variabile per il tasto
Crei una funzione,così da poterla richiamare facilmentecodice:Public Class Form1 Private Const VK_CAPITAL As Integer = &H14
Richiami la funzione dove vuoi,io in questo caso l'ho messa in "form load"codice:Private Sub Capsl() If Win32Bridge.IsKeyOn(CType(VK_CAPITAL, Integer)) Then MsgBox("CapsLock") End If End Sub
ed Ecco fatto,se caps lock è attivo ti compare 1 messaggio...codice:Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Capsl() End Sub
Il codice non è mio,ma l'avevo trovato su internet...cmq funziona...
Ciao

Rispondi quotando