Ingilizce klavye secmek

Başlatan Zoroaster, 12 Mart 2017, 06:54:05

Zoroaster

Yazacagim program, isletim sisteminde birden fazla klavye secenegi varsa klavyeyi ingilizce moda alsin istiyorum.

Nasil yapabilirim?
Seytan deliginden kacti.

malaga

Denetim masasında klavye ve dil seçeceğinden varsayılan klavye ve dil seçeceğini İngilizce yapıyorsun sorun kalmıyor
Hiç bir kimsenin gönlünü yapmak için Allahın hükmünü çiğneme

Zoroaster

Bahsettiginiz ayari ben kurcalayabiliyorsam baskasi da kurcalar ve sorunum cozulmemis olur.
Seytan deliginden kacti.


malaga

User mode kullanıcı açarsan hiçbir değişiklik yapamaz
Hiç bir kimsenin gönlünü yapmak için Allahın hükmünü çiğneme

Zoroaster

@malaga cozum onerilerin benim kafa yapima cok ters.

Benim programla isi biten kisi word kullanmak ve klavye degistirmek isterse ne olacak?
Seytan deliginden kacti.

malaga

ozaman sunu yap win ini dosyasinda klavye ayarları ve secenekleri var program ile bu dosyaya ulaş orda degişitir programdan çıkarkende bu dosyayı eski haline getirebilirsen yazılımında ozaman problem ortadan kalkar. win.ini sytem.ini de olabilir tam hatırlamıyorum budosyaların birinde bu ayarlar var ordan deneme yanılma yöntemiyle denersin kolay gelsin
Hiç bir kimsenin gönlünü yapmak için Allahın hükmünü çiğneme

ÜC

#7
Kayıt defterinde (Regedit) bir anahtar altındaki diziyi değiştirmeniz yeterli Bülent hocam

HKEY_CURRENT_USER\Keyboard Layout\Preload  anahtarında 1 nolu dize değerini

d000041f  yaparsasnız Tükçe F klavye olur
0000041f yaparsasnız Tükçe Q klavye olur
00000409 yaparsasnız ABD olurmuş (hiç değiştirmedim)

Hocam siz sanırım Delphi kullanıyordunuz , programla regedit ayarlarını değiştirerek yapabilirsiniz. .NET olsa kodları var ama Delphi maalesef.

Hocam ben XP üstüne çıkamadım bu bilgilerle XP üstü sistemler regedite yazmaya müsaade ediyormu bilmiyorum.
Klavyenin değişebilmesi için PC nin yeniden başlatılması yada kullanıcı değiştirilmesi lazım.

engerex


Merhaba,


Bunun bir kaç yöntemi var.


Örnek olması açısından;
Sisteme tanımlanmış klavye dillerini listeler ve istediğinizi seçmenizi sağlar. Seçim anlık uygulanır. Windows 10 pro 64bit ve Delphi 10.1 ile denendi, başarılı.


//Bir adet ComboBox ekleyin ve FormCreate oluşturun.
//Windows 10 pro 64bit ve Delphi 10.1 ile denendi, başarılı.
procedure GetKLList(List: TStrings);
var
AList : array [0..9] of Hkl;
AklName: array [0..255] of Char;
i: Longint;
begin
List.Clear;
for i := 0 to GetKeyboardLayoutList(SizeOf(AList), AList) - 1 do
begin
GetLocaleInfo(LoWord(AList), LOCALE_SLANGUAGE, AklName, SizeOf(AklName));
List.AddObject(AklName, Pointer(AList));
end;
end;


procedure TForm1.ComboBox1Change(Sender: TObject);
begin
with Sender as TComboBox do
begin
ActivateKeyboardLayout(Hkl(Items.Objects[ItemIndex]), 0);
end;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
GetKLList(ComboBox1.Items);
end;