如何在VB.NET中切换Caps Lock?

Luk*_*vin 5 .net vb.net windows

使用VB.NET,如何切换Caps Lock的状态?

Rob*_*ick 6

试试这个:

Public Class Form1
    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Integer, ByVal dwExtraInfo As Integer)
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Call keybd_event(System.Windows.Forms.Keys.CapsLock, &H14, 1, 0)
            Call keybd_event(System.Windows.Forms.Keys.CapsLock, &H14, 3, 0)
        End Sub
End Class
Run Code Online (Sandbox Code Playgroud)


GEO*_*HET 5

来自:http://www.vbforums.com/showthread.php?rerererid = 61394&t = 537891

Imports System.Runtime.InteropServices

Public Class Form2

    Private Declare Sub keybd_event Lib "user32" ( _
        ByVal bVk As Byte, _
        ByVal bScan As Byte, _
        ByVal dwFlags As Integer, _
        ByVal dwExtraInfo As Integer _
    )
    Private Const VK_CAPITAL As Integer = &H14
    Private Const KEYEVENTF_EXTENDEDKEY As Integer = &H1
    Private Const KEYEVENTF_KEYUP As Integer = &H2

    Private Sub Button1_Click( _
        ByVal sender As System.Object, _
        ByVal e As System.EventArgs _
    ) Handles Button1.Click

        ' Toggle CapsLock

        ' Simulate the Key Press
        keybd_event(VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0)

        ' Simulate the Key Release
        keybd_event(VK_CAPITAL, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)
    End Sub

End Class 
Run Code Online (Sandbox Code Playgroud)