خاموش و روشن کردن Caps Lock در ویژوال بیسیک
#1
Note 
سلام عید همگی مبارک Confusedmilingsmiley:
چطور میتونم کلید CapsLock رو خاموش و روشن کنم در ویژوال بیسیک؟

پاسخ
#2
Note 
Salam

[VB]
Option Explicit

Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal uCode As Long, ByVal uMapType As Long) As Long
Private Declare Function SendInput Lib "user32" (ByVal nInputs As Long, pInputs As Any, ByVal cbSize As Long) As Long

Private Type KeyboardInput ' typedef struct tagINPUT {
dwType As Long ' DWORD type;
wVK As Integer ' union {MOUSEINPUT mi;
wScan As Integer ' KEYBDINPUT ki;
dwFlags As Long ' HARDWAREINPUT hi;
dwTime As Long ' };
dwExtraInfo As Long ' }INPUT, *PINPUT;
dwPadding As Currency '
End Type

'SendInput constants
Private Const INPUT_KEYBOARD As Long = 1
Private Const KEYEVENTF_KEYUP As Long = 2

Private Const VK_CAPITAL = &H14

Function CapsLock() As Boolean
' Determine whether CAPSLOCK key is toggled on.
CapsLock = CBool(GetKeyState(VK_CAPITAL) And 1)
End Function

Public Sub SetCapsLockState(bEnabled As Boolean)
'CapsLock is already in desired state. Nothing to do.
If CapsLock = bEnabled Then Exit Sub

PressCapsLock
End Sub

Private Sub PressCapsLock()
GenerateKeyboardEvent VK_CAPITAL, 0
GenerateKeyboardEvent VK_CAPITAL, KEYEVENTF_KEYUP
End Sub

Private Sub GenerateKeyboardEvent(VirtualKey As Long, Flags As Long)
Dim kevent As KeyboardInput

With kevent
.dwType = INPUT_KEYBOARD
.wScan = MapVirtualKey(VirtualKey, 0)
.wVK = VirtualKey
.dwTime = 0
.dwFlags = Flags
End With
SendInput 1, kevent, Len(kevent)
End Sub

Private Sub Command1_Click()
SetCapsLockState True
End Sub

Private Sub Command2_Click()
SetCapsLockState False
End Sub

[/VB]

پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note دانلود نمونه سولات ویژوال بیسیک SOFTAFZAR 1 2,318 18-12-2015 ساعت 11:30
آخرین ارسال: majidvajih
Note ماشین حساب پیشرفته به زبان ویژوال بیسیک SOFTAFZAR 2 4,238 28-01-2015 ساعت 16:36
آخرین ارسال: xMAN
Note space در ویژوال بیسیک 6 شهره 1 713 04-10-2014 ساعت 10:42
آخرین ارسال: Comodo
Note ویژوال بیسیک amir7519 1 626 19-07-2014 ساعت 17:36
آخرین ارسال: C0der
Note باز و بستن برنامه ها با ویژوال بیسیک Somi 1 633 18-05-2014 ساعت 19:28
آخرین ارسال: VBProgrammer
Note ایجاد لوزی با ویژوال بیسیک 6 Nastaran 2 772 07-04-2014 ساعت 14:25
آخرین ارسال: Nastaran
Note کمک در Sendkey ویژوال بیسیک THE KNIGHT 11 2,174 29-03-2014 ساعت 09:44
آخرین ارسال: Stack OverFlow
Note دانلود مجموعه پروژه ویژوال بیسیک Daniel 0 632 14-03-2014 ساعت 22:37
آخرین ارسال: Daniel
Note تمرینات حل شده درس برنامه سازی(ویژوال بیسیک) Daniel 0 1,074 13-03-2014 ساعت 19:32
آخرین ارسال: Daniel
Note دانلود 105 پروژه ویژوال بیسیک SOFTAFZAR 6 4,555 23-02-2014 ساعت 18:21
آخرین ارسال: Daniel

کاربرانِ درحال بازدید از این موضوع:   1 مهمان