خاموش و روشن کردن 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,197 18-12-2015 ساعت 11:30
آخرین ارسال: majidvajih
Note ماشین حساب پیشرفته به زبان ویژوال بیسیک SOFTAFZAR 2 4,114 28-01-2015 ساعت 16:36
آخرین ارسال: xMAN
Note space در ویژوال بیسیک 6 شهره 1 672 04-10-2014 ساعت 10:42
آخرین ارسال: Comodo
Note ویژوال بیسیک amir7519 1 598 19-07-2014 ساعت 17:36
آخرین ارسال: C0der
Note باز و بستن برنامه ها با ویژوال بیسیک Somi 1 587 18-05-2014 ساعت 19:28
آخرین ارسال: VBProgrammer
Note ایجاد لوزی با ویژوال بیسیک 6 Nastaran 2 743 07-04-2014 ساعت 14:25
آخرین ارسال: Nastaran
Note کمک در Sendkey ویژوال بیسیک THE KNIGHT 11 2,107 29-03-2014 ساعت 09:44
آخرین ارسال: Stack OverFlow
Note دانلود مجموعه پروژه ویژوال بیسیک Daniel 0 606 14-03-2014 ساعت 22:37
آخرین ارسال: Daniel
Note تمرینات حل شده درس برنامه سازی(ویژوال بیسیک) Daniel 0 1,005 13-03-2014 ساعت 19:32
آخرین ارسال: Daniel
Note دانلود 105 پروژه ویژوال بیسیک SOFTAFZAR 6 4,377 23-02-2014 ساعت 18:21
آخرین ارسال: Daniel

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