Sử dụng VB.NET, làm cách nào để chuyển đổi trạng thái của Caps Lock?Làm cách nào để chuyển đổi Caps Lock trong VB.NET?
5
A
Trả lời
5
Từ: 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
7
Hãy thử 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
0
tôi sử dụng này
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)
Wow! 3 dòng mã thay vì một trang ... Tôi ước tôi có thể bỏ phiếu +5. –