klavye de dil ayarları
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
klavye de dil ayarları
Arkadaşlar merhaba,
Hemen aradığım her yerde;
Denetim masası uygulamaları için verilen örnekler şunlar:
WinExec('C:\WINDOWS\CONTROL.EXE TIMEDATE.CPL', sw_ShowNormal);
WinExec('C:\WINDOWS\CONTROL.EXE MOUSE', sw_ShowNormal);
WinExec('C:\WINDOWS\CONTROL.EXE PRINTERS', sw_ShowNormal);
Benim aradığım, kullanıcıya denetim masasına gitmeden, klavyesini değiştirecek bir kod yazmak:
Şöyle yazıyorum:
WinExec('C:\WINDOWS\CONTROL.EXE keyboard', sw_ShowNormal);
Gelen diyalog penceresi: Klavye özellikleri: "Hız" sekmesindeyim.
Buna bir tab tuşu eklesem dil ayarlarınadyım.. ama bu da yeterli değil.
yani bunu windowsun kısayol tuşlarındanda hallediyouz zaten.
şimdiden teşekkürler.
Hemen aradığım her yerde;
Denetim masası uygulamaları için verilen örnekler şunlar:
WinExec('C:\WINDOWS\CONTROL.EXE TIMEDATE.CPL', sw_ShowNormal);
WinExec('C:\WINDOWS\CONTROL.EXE MOUSE', sw_ShowNormal);
WinExec('C:\WINDOWS\CONTROL.EXE PRINTERS', sw_ShowNormal);
Benim aradığım, kullanıcıya denetim masasına gitmeden, klavyesini değiştirecek bir kod yazmak:
Şöyle yazıyorum:
WinExec('C:\WINDOWS\CONTROL.EXE keyboard', sw_ShowNormal);
Gelen diyalog penceresi: Klavye özellikleri: "Hız" sekmesindeyim.
Buna bir tab tuşu eklesem dil ayarlarınadyım.. ama bu da yeterli değil.
yani bunu windowsun kısayol tuşlarındanda hallediyouz zaten.
şimdiden teşekkürler.
Bilgi çoğaldıkça krallar ölür
Selam,
bir kod buldum ama denemedim.
Kolay gelsin.
bir kod buldum ama denemedim.
Kod: Tümünü seç
var
hklEN : HKL;
hklTH : HKL;
procedure TForm1.FormCreate(Sender: TObject);
begin
hklEN := LoadKeyboardLayout('00000409',0); // 1. klavye
hklTH := LoadKeyboardLayout('0000041E',0); // 2. klavye
end;
in my procedure switch it by
Handle := GetFocus;
SendMessage(Handle,WM_INPUTLANGCHANGEREQUEST,0,hklTH);
or
SendMessage(Handle,WM_INPUTLANGCHANGEREQUEST,0,hklEN);
Merhaba.
Pek güvenli bir yol değildir ama viewtopic.php?t=1587'deki unit'i kullanırsan istediğin pencereye istediğin tuşu yollayabilirsin. Mesela sekme değitirmek için Ctrl+Tab veya klavye seçimi için aşağı-yukarı yön tuşu gibi...
Pek güvenli bir yol değildir ama viewtopic.php?t=1587'deki unit'i kullanırsan istediğin pencereye istediğin tuşu yollayabilirsin. Mesela sekme değitirmek için Ctrl+Tab veya klavye seçimi için aşağı-yukarı yön tuşu gibi...
Selam... @Admin'in verdiği kodu deneme fırsatım oldu... Thai diline göre ayarlı bir kodmuş... Araştırınca (Delphi IDE/Project/Version Info/Language başlığı) bulduğum Türkçe dili karşılığını ve kullanım kolaylığı açısından procedure şeklinde kodu yazıyorum...
- Kodun güzel tarafı, program sonlanınca klavye ayarı eski haline dönüyor... (kimine göre farklı değerlendirilebilir ama program dahilinde kalmasını sevdim...)
- Örnek teşkil etsin diye internetten bulduğum dil kodları listesinden bir örnek ekliyorum... (Uzun ve şimdilik gereksiz bir liste. Bu yüzden küçük bir kısmını copy/paste yapıyorum...)
- Kodun güzel tarafı, program sonlanınca klavye ayarı eski haline dönüyor... (kimine göre farklı değerlendirilebilir ama program dahilinde kalmasını sevdim...)
Kod: Tümünü seç
Procedure KlavyeDili(Dil:Integer);
Var
hklTR : HKL;
hklEN : HKL;
Handle : THandle;
begin
hklTR := LoadKeyboardLayout('0000041F',0); // Türkçe
hklEN := LoadKeyboardLayout('00000409',0); // İngilizce
Handle := GetFocus;
Case Dil of
0: SendMessage(Handle,WM_INPUTLANGCHANGEREQUEST,0,hklTR);
1: SendMessage(Handle,WM_INPUTLANGCHANGEREQUEST,0,hklEN);
end; // Case
end;
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
KlavyeDili(0); // 0:Türkçe, 1:İngilizce
end;
Kod: Tümünü seç
LanguageIDTatar = $00000444;
LanguageIDTelugu = $0000044A;
LanguageIDThai = $0000041E;
LanguageIDTibetan = $00000451;
LanguageIDTsonga = $00000431;
LanguageIDTswana = $00000432;
LanguageIDTurkish = $0000041F;
LanguageIDTurkmen = $00000442;
LanguageIDUkrainian = $00000422;
LanguageIDUrdu = $00000420;
LanguageIDUzbekCyrillic = $00000843;
LanguageIDUzbekLatin = $00000443;
LanguageIDVenda = $00000433;
LanguageIDVietnamese = $0000042A;
LanguageIDWelsh = $00000452;
LanguageIDXhosa = $00000434;
LanguageIDZulu = $00000435;
Hocam hepinize ayrı ayrı teşekkür ederim.
Ben de bir yerde:
Kodlarını buldum.
Bu kodları kullandığımda, win98 de sorun yok. program kapansa dahi windows yeniden başlayıncaya kadar seçilen klavye dönüşümü geçerliliğini koruyor. Win XP de işe yaramıyor.
Sadece Mustafa hocamın yazdığı kodlar XP de de işe yarıyor.
Fakat henüz F klavye için denemedim.
selamlar
Ben de bir yerde:
Kod: Tümünü seç
LoadKeyboardLayout(pChar('0001041f'), KLF_Activate);
Q Klavyeyi aktive etmek için;
LoadKeyboardLayout(pChar('0000041f'), KLF_Activate);
Bu kodları kullandığımda, win98 de sorun yok. program kapansa dahi windows yeniden başlayıncaya kadar seçilen klavye dönüşümü geçerliliğini koruyor. Win XP de işe yaramıyor.
Sadece Mustafa hocamın yazdığı kodlar XP de de işe yarıyor.
Fakat henüz F klavye için denemedim.
selamlar
Bilgi çoğaldıkça krallar ölür