GetAsyncKeyState Functionu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

GetAsyncKeyState Functionu

Mesaj gönderen pro_imaj »

Merhaba;

GetAsyncKeyState Functionu ile kullanım yapıyorum fakat türkçe olmayan harflerde sorun çıkıyor daha doğrusu hiçbir işlem yapmıyor functiondan tanımlı olmadığı için nasıl yapabilirim acaba.

ESC Tuşuna basıldığında ilgili işlemi yatırıyorum

Kod: Tümünü seç

Result:=GetAsyncKeyState(27);
If Result=-32767 then
Begin
Showmessage (İşlem İptal Edildi.);
End;

Bu işlemleri uygulama açıkken herhangi bir uygulamadayken bile ilgili yuşlara basınca ilgili işlemleri yaptırtıyorum.

Buda Küçük ç harfi ama çalışmıyor Ascii kodu bu

Kod: Tümünü seç

Result:=GetAsyncKeyState(231);
If Result=-32767 then
Begin
Showmessage (İşlem İptal Edildi.);
End;
Birşey daha merak ediyorum bu function harfleri neden büyük algılıyor yani hangi tuşa basılırsa basılsın büyük harf olarak algılıyor.

Teşekkür Ederim.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
fatihtolgaata
Üye
Mesajlar: 382
Kayıt: 04 Mar 2004 09:46
Konum: K.çekmece / İstanbul
İletişim:

Mesaj gönderen fatihtolgaata »

GetAsyncKeyState fonksiyonu içine parametre olarak virtual keycode'ları yollamalısın. ASCII kodları değil! Çoğu kişi bu noktada yanılıyor çünkü, ingilizce karakterlerin ASCII kodları ile Virtual kodları aynı. Ama diğer karakterler için bu böyle değil. VK'ların tanımlı listesi için help dosyasında Virtual-Key Codes şeklinde arattırmalısın. Liste harici tuşlar için OnKeyDown ile Word tipinde olan Key parametresini öğrenmen yeterli. Sadece Ç harfini istiyorsan: 220. Bunu öğrenmek için aşağıdaki kodu yazdım: Kolay gele:

Kod: Tümünü seç

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  ShowMessage(IntToStr(Key));
end;
Cevapla