Klavye Girişi
Bu bölümde, sistemin klavye girişini nasıl oluşturduğu ve bir uygulamanın bu girişi nasıl aldığı ve işlediği açıklanmaktadır.
Bu Bölümde
Ad | Açıklama |
---|---|
Klavye Girişi Hakkında | Klavye girişini açıklar. |
Klavye Girişi Kullanarak | Klavye girişiyle ilişkili görevleri kapsar. |
Klavye Giriş Başvurusu | API başvurusunu içerir. |
Işlev
Ad | Açıklama |
---|---|
ActivateKeyboardLayout | Çağıran iş parçacığı veya geçerli işlem için giriş yerel ayar tanımlayıcısını (eski adıyla klavye düzeni tutamacı) ayarlar. Giriş yerel ayar tanımlayıcısı, klavyenin fiziksel düzeninin yanı sıra bir yerel ayar belirtir. |
BlockInput | Klavye ve fare girişi olaylarının uygulamalara ulaşmasını engeller. |
EnableWindow | Belirtilen pencereye veya denetime fare ve klavye girişini etkinleştirir veya devre dışı bırakır. Giriş devre dışı bırakıldığında, pencere fare tıklamaları ve tuş basmaları gibi girişleri almaz. Giriş etkinleştirildiğinde pencere tüm girişleri alır. |
GetActiveWindow | Pencere tutamacını çağıran iş parçacığının ileti kuyruğuna eklenmiş etkin pencereye alır. |
GetAsyncKeyState | İşlev çağrıldığında bir anahtarın yukarı mı yoksa aşağı mı olduğunu ve getAsyncKeyStateönceki bir çağrıdan sonra tuşuna basılıp basılmadığını belirler. |
GetFocus | Pencere çağıran iş parçacığının ileti kuyruğuna bağlıysa, klavye odağına sahip pencerenin tutamacını alır. |
GetKeyboardLayout | Belirtilen iş parçacığı için etkin giriş yerel ayar tanımlayıcısını (eski adıyla klavye düzeni) alır.
idThread parametresi sıfırsa, etkin iş parçacığı için giriş yerel ayar tanımlayıcısı döndürülür. |
GetKeyboardLayoutList | Sistemdeki geçerli giriş yerel ayarları kümesine karşılık gelen giriş yerel ayar tanımlayıcılarını (eski adıyla klavye düzeni tanıtıcıları) alır. İşlev, tanımlayıcıları belirtilen arabelleğe kopyalar. |
GetKeyboardLayoutName | Etkin giriş yerel ayar tanımlayıcısının adını (eski adıyla klavye düzeni) alır. |
GetKeyboardState | 256 sanal anahtarın durumunu belirtilen arabelleğe kopyalar. |
GetKeyNameText | Bir anahtarın adını temsil eden bir dize alır. |
GetKeyState | Belirtilen sanal anahtarın durumunu alır. Durum, anahtarın yukarı, aşağı veya iki durumlu olduğunu belirtir (tuşa her basıldığında açık, değişen kapalı). |
GetLastInputInfo | Son giriş olayının zamanını alır. |
IsWindowEnabled | Belirtilen pencerenin fare ve klavye girişi için etkinleştirilip etkinleştirilmediğini belirler. |
LoadKeyboardLayout | Sisteme yeni bir giriş yerel ayar tanımlayıcısı (eski adıyla klavye düzeni) yükler. Bir kerede birkaç giriş yerel ayar tanımlayıcısı yüklenebilir, ancak işlem başına bir kerede yalnızca bir tane etkindir. Birden çok giriş yerel ayar tanımlayıcısını yüklemek, bunlar arasında hızla geçiş yapmanızı sağlar. |
MapVirtualKey | Bir sanal anahtar kodunu tarama koduna veya karakter değerine çevirir (eşler) veya bir tarama kodunu sanal anahtar koduna çevirir. Belirtilen kodu çevirmek için kullanılacak klavye düzeni tutamacını belirtmek için MapVirtualKeyExişlevini kullanın. |
MapVirtualKeyEx | Bir sanal anahtar kodunu tarama koduna veya karakter değerine eşler ya da tarama kodunu sanal anahtar koduna çevirir. işlevi, giriş dilini ve giriş yerel ayar tanımlayıcısını kullanarak kodları çevirir. |
oemkeyscan | 0 ile 0x0FF arasında OEMASCII kodlarını OEM tarama kodları ve vardiya durumlarına eşler. işlevi, bir programın klavye girişi benzetimi yaparak OEM metnini başka bir programa göndermesine olanak tanıyan bilgiler sağlar. |
RegisterHotKey | Sistem genelinde bir kısayol tuşu tanımlar. |
SendInput | Tuş vuruşlarını, fare hareketlerini ve düğme tıklamalarını sentezler. |
SetActiveWindow | Bir pencereyi etkinleştirir. Pencere, çağıran iş parçacığının ileti kuyruğuna eklenmelidir. |
SetFocus | Klavye odağını belirtilen pencereye ayarlar. Pencere, çağıran iş parçacığının ileti kuyruğuna eklenmelidir. |
SetKeyboardState | 256 baytlık klavye tuşu durumlarından oluşan bir diziyi çağıran iş parçacığının klavye giriş durumu tablosuna kopyalar. Bu, getkeyboardStateve GetKeyStateişlevleritarafından erişilen tabloyla aynıdır. Bu tabloda yapılan değişiklikler, başka bir iş parçacığına klavye girişini etkilemez. |
ToAscii | Belirtilen sanal anahtar kodunu ve klavye durumunu ilgili karaktere veya karakterlere çevirir. işlevi, klavye düzeni tutamacı tarafından tanımlanan giriş dilini ve fiziksel klavye düzenini kullanarak kodu çevirir. Belirtilen kodu çevirmek için kullanılacak klavye düzeni tutamacını belirtmek için ToAsciiExişlevini kullanın. |
ToAsciiEx | Belirtilen sanal anahtar kodunu ve klavye durumunu ilgili karaktere veya karakterlere çevirir. işlevi, giriş dili ve giriş yerel ayar tanımlayıcısı tarafından tanımlanan fiziksel klavye düzenini kullanarak kodu çevirir. |
ToUnicode | Belirtilen sanal anahtar kodunu ve klavye durumunu ilgili Unicode karakterine veya karakterlerine çevirir. Belirtilen kodu çevirmek için kullanılacak klavye düzeni tutamacını belirtmek için ToUnicodeExişlevini kullanın. |
ToUnicodeEx | Belirtilen sanal anahtar kodunu ve klavye durumunu ilgili Unicode karakterine veya karakterlerine çevirir. |
UnloadKeyboardLayout | Giriş yerel ayar tanımlayıcısı (eski adıyla klavye düzeni) kaldırır. |
UnregisterHotKey | Daha önce çağıran iş parçacığı tarafından kaydedilmiş bir kısayol anahtarını serbest kaldırır. |
VkKeyScanEx | Bir karakteri ilgili sanal anahtar koduna ve kaydırma durumuna çevirir. işlevi, giriş dili ve giriş yerel ayar tanımlayıcısı tarafından tanımlanan fiziksel klavye düzenini kullanarak karakteri çevirir. |
Aşağıdaki işlevler eskidir.
Fonksiyon | Açıklama |
---|---|
GetKBCodePage | Geçerli kod sayfasını alır. |
keybd_event | Tuş vuruşu sentezler. Sistem, bir WM_KEYUP veya WM_KEYDOWN iletisi oluşturmak için böyle bir sentezlenmiş tuş vuruşu kullanabilir. Klavye sürücüsünün kesme işleyicisi keybd_event işlevini çağırır. |
VkKeyScan | Bir karakteri, geçerli klavye için ilgili sanal anahtar koduna ve vardiya durumuna çevirir. |
Ileti
Ad | Açıklama |
---|---|
WM_GETHOTKEY | Bir pencereyle ilişkili kısayol tuşunu belirler. |
WM_SETHOTKEY | Bir kısayol tuşunu pencereyle ilişkilendirir. Kullanıcı kısayol tuşuna bastığında sistem pencereyi etkinleştirir. |
Bildirim
Ad | Açıklama |
---|---|
WM_ACTIVATE | Hem etkinleştirilmekte olan pencereye hem de devre dışı bırakılan pencereye gönderilir. Pencereler aynı giriş kuyruğu kullanıyorsa, ileti zaman uyumlu olarak gönderilir, önce devre dışı bırakılan en üst düzey pencerenin pencere yordamına, sonra da etkinleştirilmekte olan en üst düzey pencerenin pencere yordamına gönderilir. Pencereler farklı giriş kuyrukları kullanıyorsa, ileti zaman uyumsuz olarak gönderilir, bu nedenle pencere hemen etkinleştirilir. |
WM_APPCOMMAND | Örneğin, fareyi kullanarak bir uygulama komut düğmesine tıklayarak veya klavyede bir uygulama komut tuşu yazarak kullanıcının bir uygulama komut olayı oluşturduğunu bir pencereye bildirir. |
WM_CHAR |
WM_KEYDOWN bir ileti TranslateMessage işlevi tarafından çevrildiğinde klavye odağıyla pencereye postalanır.
WM_CHAR iletisi, basılan anahtarın karakter kodunu içerir. |
WM_DEADCHAR |
WM_KEYUP bir ileti TranslateMessage işlevi tarafından çevrildiğinde klavye odağıyla pencereye postalanır.
WM_DEADCHAR, ölü anahtar tarafından oluşturulan bir karakter kodunu belirtir. Ölü anahtar, bileşik bir karakter oluşturmak için başka bir karakterle birleştirilen umlaut (çift nokta) gibi bir karakter oluşturan bir anahtardır. Örneğin, umlaut-O karakteri ( ) umlaut karakteri için ölü anahtar yazılarak ve ardından O tuşu yazılarak oluşturulur. |
WM_HOTKEY | Kullanıcı RegisterHotKey işlevi tarafından kaydedilen bir kısayol tuşuna bastığında postalanır. İleti, sık erişim anahtarını kaydeden iş parçacığıyla ilişkili ileti kuyruğunun en üstüne yerleştirilir. |
WM_KEYDOWN | Sistem dışı bir tuşa basıldığında klavye odağıyla pencereye postalanır. Sistem dışı tuş, ALT tuşuna basılmadığında basılan bir tuşdur. |
WM_KEYUP | Sistem dışı bir tuş serbest bırakıldığında klavye odağıyla pencereye postalanır. Sistem dışı tuş, ALT tuşuna basılmadığında basılan bir tuş veya bir pencere klavye odağına sahip olduğunda basılan bir klavye tuşudur. |
WM_KILLFOCUS | Klavye odağını kaybetmeden hemen önce bir pencereye gönderilir. |
WM_SETFOCUS | Klavye odağı kazandıktan sonra pencereye gönderilir. |
WM_SYSDEADCHAR |
WM_SYSKEYDOWN bir ileti TranslateMessage işlevi tarafından çevrildiğinde klavye odağıyla pencereye gönderilir.
WM_SYSDEADCHAR, ALT tuşunu basılı tutarken basılan bir sistem ölü anahtarının karakter kodunu belirtir. |
WM_SYSKEYDOWN | Kullanıcı F10 tuşuna bastığında (menü çubuğunu etkinleştirir) veya ALT tuşunu basılı tutarak başka bir tuşa bastığında klavye odağıyla pencereye postalanır. Ayrıca, şu anda klavye odağına sahip bir pencere olmadığında da oluşur; bu durumda, WM_SYSKEYDOWN iletisi etkin pencereye gönderilir. İletiyi alan pencere, lParam parametresindeki bağlam kodunu denetleyerek bu iki bağlamı ayırt edebilir. |
WM_SYSKEYUP | Kullanıcı, ALT tuşu basılıyken basılan bir tuşu serbest bıraktığında klavye odağıyla pencereye postalanır. Ayrıca, şu anda klavye odağına sahip bir pencere olmadığında da oluşur; bu durumda, WM_SYSKEYUP iletisi etkin pencereye gönderilir. İletiyi alan pencere, lParam parametresindeki bağlam kodunu denetleyerek bu iki bağlamı ayırt edebilir. |
WM_UNICHAR |
WM_KEYDOWN bir ileti TranslateMessage işlevi tarafından çevrildiğinde klavye odağıyla pencereye postalanır.
WM_UNICHAR iletisi, basılan anahtarın karakter kodunu içerir. |
Yapı
Ad | Açıklama |
---|---|
HARDWAREINPUT | Klavye veya fare dışında bir giriş cihazı tarafından oluşturulan sanal ileti hakkında bilgi içerir. |
INPUT | Tuş vuruşları, fare hareketi ve fare tıklamaları gibi giriş olaylarını sentezleme için kullanılan bilgileri içerir. |
KEYBDINPUT | Sanal klavye olayı hakkında bilgi içerir. |
LASTINPUTINFO | Son girişin zamanını içerir. |
MOUSEINPUT | Sanal fare olayı hakkında bilgi içerir. |
Sabit
Ad | Açıklama |
---|---|
Virtual-Key Kodları | Sistem tarafından kullanılan sanal anahtar kodları için sembolik sabit adları, onaltılık değerler ve fare veya klavye eşdeğerleri. Kodlar sayısal sırada listelenir. |
Ayrıca bkz.
- Klavye Girişi Hakkında