ToAscii

ToAscii 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 ToAscii) UINT  uVirtKey, / / sanal-anahtar koduUINTuScanCode, / / tarama kodupbytelpKeyState, / / anahtar-devlet dizisilpwordlpChar, / / tampon için çevrilen anahtarUINTuFlags / / etkin menü bayrak);
 

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. Menü etkin veya 0 değilse bu parametre 1 olmalıdır.

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 ToAscii için sağlanan parametreleri sanal-anahtar kodu çevirmek için yeterli olmayabilir.

Genellikle, ToAscii 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, ToAscii 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 3.1 veya üstü 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, OemKeyScan, ToUnicode, VkKeyScan

Index