logo Kurtlar Vadisi Pusu 42.Bolum
+ RaKiPSiZFoRuM.CoM | Rakipsiz Paylasim Platformu | Rakipsiz Forumun Rakipsiz Adresi » 
»Bilgisayar Ve İnternet Rehberi«
 » İşletim Sistemleri (Moderatör: SuBHaN_)
 CAPSLOCK ve NUMLOOK yer değişme

Kullanıcı Adı: Sürekli Bağlı Kal
Şifre:
Ayrıntılı Konu Bilgileri
Konu BaşlığıKonu: CAPSLOCK ve NUMLOOK yer değişme
Cevap SayısıCevap Sayısı: 0 cevap var
Okunma SayısıOkunma Sayısı 66 defa
Konuyu Görüntüleyenler0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Sayfa: [1]   Aşağı git
Cevap Yaz Yeni Konu Yeni Anket
Gönderen Konu: CAPSLOCK ve NUMLOOK yer değişme  (Okunma Sayısı 66 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
« : Ocak 17, 2008, 11:26:54 ÖS »
Üye Profili

Yönetici
******




Konu Sayısı:1187
Mesaj Sayısı: 7571

Cinsiyet: Bay
Nerden: sevdim O zalimi...

Rep Puanı: 278



Üyelik Bilgileri
Durumum:


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 CAPS LOCK, NUM LOCK ve SCROLL LOCK kilitlerini açıp kapayabilirsiniz. Peki programınızı derleyip kurulum paketinin oluşturduğunuzda ne olacak? Şüphesiz ilgili kontrol de uygulamanız ile birlikte 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.

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
Logged

Sayfa: [1]   Yukarı git
Cevap Yaz Yeni Konu Yeni Anket

 
Gitmek istediğiniz yer:  

Benzer Konular
Konu Başlığı Başlatan Yanıtlar Görüntülenme Son Mesaj
Vista Tüm Sürümleri İçin Dil Değişme Paketi V-W-X-Y-Z SuBHaN_ 0 38 Son Mesaj Ocak 03, 2008, 07:06:54 ÖS
Gönderen: SuBHaN_
windows aÇIlırken numlook açma Yeni Başlayanlar İçin Genel Dökümanlar SuBHaN_ 2 70 Son Mesaj Nisan 19, 2008, 09:33:49 ÖS
Gönderen: BY_Vista
Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Dizayn - Tasarım : Crazy_ManN | Hosting : Rakipsiz.Net