Our social:

27 Ocak 2014 Pazartesi

C# uygulamalarında Caps Lock tuşu kontrolü

C# ile geliştirilen uygulamalarda Caps Lock tuşunun açık veya kapalı olduğunu nasıl göstereceğimizi anlatacağım.

Yeni bir Windows Form uygulaması oluşturuyorum ve görseldeki gibi 1 button ve 1 label ekliyorum. Butona tıklandığında Caps Lock durumunu label'a yazdıracağım.


Şimdi butona çift tıklayarak kod sayfama gidiyorum.


System.Runtime.InteropServices sınıfını projeme ekliyorum.

Resimdeki kısma aşağıdaki kodu yazıyorum.

[DllImport("user32.dll")]
        static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);
        const int KEYEVENTF_EXTENDEDKEY = 0x1;
        const int KEYEVENTF_KEYUP = 0x2;



Daha sonra buttonumun click eventının içine aşağıdaki kodu yazıyorum.


Uygulamamı çalıştırıyorum ve butona tıklıyorum. Sonuç olarak Caps Lock açık veya kapalı mesajını gösteriyor.


Caps Lock tuşunu program üzerinden kapatma


Eğer Caps Lock açık ise ve bunu program üzerinden kapatmak istiyorsak aşağıdaki satırları eklememiz yeterli olacaktır.

keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr) 0);
            keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
                (UIntPtr) 0);



0 yorum: