【问题标题】:How do I toggle Caps Lock in VB.NET?如何在 VB.NET 中切换 Caps Lock?
【发布时间】:2008-09-12 13:22:03
【问题描述】:

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

【问题讨论】:

    标签: .net windows vb.net


    【解决方案1】:

    试试this:

    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
    

    【讨论】:

    • 哇! 3 行代码而不是一页......我希望我能投票 +5。
    【解决方案2】:

    发件人:http://www.vbforums.com/showthread.php?referrerid=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 
    

    【讨论】:

      【解决方案3】:

      我用这个

      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 KEYEVENTF_EXTENDEDKEY As Integer = &H1
      Private Const KEYEVENTF_KEYUP As Integer = &H2
      'put this where you want to turn caps lock on or off
      keybd_event(VK_NUMLOCK, &H45, KEYEVENTF_EXTENDEDKEY Or 0, 0)
      keybd_event(VK_NUMLOCK, &H45, KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-28
        • 2010-10-18
        • 1970-01-01
        • 2012-10-23
        • 2011-01-11
        • 2015-02-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多