Aracılığıyla paylaş


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.