Skip to main content

AccessTr.neT


Capslock Ve Numlock'u Kodla Değiştİrme

Capslock Ve Numlock'u Kodla Değiştİrme

#1
Capslock Ve Numlock'u Kodla DeĞİŞtİrmek Visual Basic 4.0 paketi tuş kilitlerini değiştirmek ve görüntülemek için "Keyboard State Control"'unu (KEYSTA32.OCX) birlikte getiriyor. Bu kontrolü kullanarak ve küçük bir kod satırı yazarak programınız çalışırken CAPSLOCK, NUMLOCK ve SCROLLLOCK kilitlerini açıp kapayabilirsiniz.

Peki programınızı derleyip kurulum paketinin oluşturduğunuzda ne olacak? Şüphesiz ilgili kontrol de uygulamanız ile brilikte programı kurduğunuz sisteme kopyalanacak. Bizce bu kadar küçük bir işlemi gerçekleştiren bir kontrolü kullanarak uygulamanızı kalabalıklaştırmak anlamsız, aynı işlemi bir WIN32 API'sini kullanarak da gerçekleştirebilirsiniz.

Örneğimizi uygulamak için üzerinde üç tane komut butonu bir de etiket kontrolü olan bir form oluşturun ve ilk aşamada boş bir BAS modülünün General - Declarations bölümüne aşağıdaki satırları girin.
Kod:
Public Const VK_CAPITAL = &H14
Public Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type

Public kbArray As KeyboardBytes
Public Declare Function GetKeyState Lib "user32"
(ByVal nVirtKey As Long) As Long
Public Declare Function GetKeyboardState Lib
"user32" (kbArray As KeyboardBytes) As Long
Public Declare Function SetKeyboardState Lib
"user32" (kbArray As KeyboardBytes) As Long

'Aşağıdaki kodlar oluşturduğnuz formun
'General - Declarations bölümüne girmelidir:
Private Function CapsLock() As Integer
CapsLock = GetKeyState(VK_CAPITAL) And 1 = 1
End Function

Private Command1_Click()
GetKeyboardState kbArray

kbArray.kbByte(VK_CAPITAL) =
IIf(kbArray.kbByte(VK_CAPITAL) = 1, 0, 1)

SetKeyboardState kbArray
Label1 = IIf(CapsLock() = 1, "Açık", "Kapalı")
End Sub

Private Sub Command2_Click()
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 1
SetKeyboardState kbArray
Label1 = IIf(CapsLock() = 1, "Açık ", "Kapalı")
End Sub

Private Sub Command3_Click()
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 0
SetKeyboardState kbArray
Label1 = IIf(CapsLock() = 1, "Açık ", "Kapalı")
End Sub


kod ile numlock u açıp kapatan farklı bir kod
.rar numlock.rar (Dosya Boyutu: 23,34 KB | İndirme Sayısı: 32)
@benbendedeilem
Cevapla
#2
Paylaşım için teşekkürler.
Cevapla
#3
Paylaşım için teşekkürler.

Saygılar.
Bilgi paylaşıldıkça çoğalır....
Her engel, yaşam koşullarınızı daha iyileştirecek bir fırsattır.


Access için her zaman lazım olacak konu başlıkları listesi


Cevapla
#4
her daim numlock açık olsun diyorsanız şunu istediğiniz metin kutusunun giriş olayına yazmanız yeterli
Kod:
keybd_event VK_NUMLOCK, MapVirtualKeyEx(VK_NUMLOCK, 0, GetKeyboardLayout(0)), KEYEVENTF_EXTENDEDKEY, 0
tabiki örnekteki modulude eklemelisiniz
@benbendedeilem
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da