ToAsciiEx

ToAsciiEx işlevi, belirtilen sanal-anahtar kodu ve klavye durumuna karşılık gelen karakter ya da karakterlerini çevirir. Belirli klavye düzeni tanıtıcıyla tanıtılan fiziksel klavye düzeni ve giriş dilini kullanarak kod işlevi çevirir.

int ToAsciiEx) UINT  uVirtKey, / / sanal-anahtar koduUINTuScanCode, / / tarama kodupbytelpKeyState, / / anahtar-devlet dizisilpwordlpChar, / / tampon için çevrilen anahtarUINTuFlags, / / etkin menü bayrak HKLdwhkl / / klavye düzeni işleci);
 

Parametreleri

uVirtKey
Çevrilecek anahtar sanal kodunu belirtir.
uScanCode
Donanım tarama kodu çevrilecek anahtar belirtir. Anahtar ise yukarı bu değer yüksek sıralı bit (basılı) ayarlanır.
lpKeyState
Geçerli klavye durumu içeren bir 256 bayt dizisi için işaretçi. Dizinin her elemanı (bayt) bir anahtar durumunu içerir. Bir bayt yüksek sıralı biti ayarlanmışsa (preslenmiş aşağı) anahtarıdır.

Düşük bit, eğer set, anahtarı üzerinde toggled gösterir. Bu işlev, yalnızca geçiş biti caps lock tuşunun geçerlidir. Num lock ve scroll lock tuşları geçiş durumunu dikkate alınmaz.

lpChar
Tercüme karakter ya da karakterlerini alacak arabellek işaretçisine.
uFlags
Menü etkin olup olmadığını belirtir. Bu parametre 1 olmalıdır menüsü etkinse, aksi takdirde sıfır.
dwhkl
Verilen kodu çevirmek için kullanılacak klavye düzeni işleci. Bu parametre-ebilmek var olmak daha önce LoadKeyboardLayout işlevi tarafından döndürülen herhangi bir klavye düzeni tutamacı.

Dönüş değerleri

Belirtilen anahtar ölü bir anahtar ise, dönen değer negatif olur. Aksi takdirde, aşağıdaki değerlerden biridir.

Değer Anlamı
0 Belirtilen sanal anahtarı olan klavyenin geçerli durum için çeviri.
1 Bir karakter arabelleğine kopyalandı.
2 İki karakter arabelleğine kopyalandı. Klavye düzeninde depolanmış bir ölü anahtar karakter (vurgu veya aksan işareti) tek bir karakter oluşturmak için belirtilen sanal anahtar ile oluşan olamaz Bu genellikle olur.

Açıklamalar

Klavye düzeninde bir önceki ölü anahtar depolandığından ToAsciiEx için sağlanan parametreleri sanal-anahtar kodu çevirmek için yeterli olmayabilir.

Genellikle, ToAsciiEx sanal-anahtar kodu temel alınarak çeviri yapar. Bazı durumlarda, ancak bit 15 uScanCode parametresi bir tuşa basmak ve bir anahtar açıklaması birbirinden ayırmak için kullanılır. Tarama kodu alt +sayı tuşu bileşimleri çevirmek için kullanılır.

Num kilit bir geçiş tuşu klavye davranışı etkileyen olsa da, ToAsciiEx lpKeyState (düşük bit) geçiş ayarı yoksayar (vk_numlock, çünkü yalnız uVirtKey parametre sayısal anahtarları (VK_DECIMAL, VK_NUMPAD0 - VK_NUMPAD9) (vk_home, VK_INSERT vb.) imleci hareket tuşları ayırmak için yeterli.

QuickInfo

nbsp; Windows &NT: sürüm 4.0 veya daha yenisini gerektirir.
Windows:Windows 95 veya sonraki sürümleri gerektirir.
Windows ce:Desteklenmeyen.
Header:WINUSER.h ilan etti.
İçe Library:User32.lib kullanma.

Ayrıca bkz:

Klavye giriş özeti, klavye girişi işlevleri, LoadKeyboardLayout, MapVirtualKeyEx, OemKeyScan, ToAscii, VkKeyScan

Index