Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.13;
Скачать: CL | DM;

Вниз

русская ли винда?   Найти похожие ветки 

 
Nicky   (2003-07-25 13:47) [0]

отелось бы узнать, русифицирована ли винда, под которой я работаю. накопал апишку GetKeyboardLayoutList, дальше, вероятно надо юзать ImmGetDescription из imm32.dll но она ничего не возвращает под Win2000, а следовательно иметь ее ввиду для проги, которая работает неизвестно где не имеет смысла.

function ImmGetDescription(hKL : THandle; lpszDescription : LPTSTR; uBufLen : UINT): Integer;
( 5,lanBuf) отелось бы узнать, русифицирована ли винда, под которой я работаю. накопал апишку GetKeyboardLayoutList, дальше, вероятно надо юзать ImmGetDescription из imm32.dll но она ничего не возвращает под Win2000, а следовательно иметь ее ввиду для проги, которая работает неизвестно где не имеет смысла.

function ImmGetDescription(hKL : THandle; lpszDescription : LPTSTR; uBufLen : UINT): Integer;
stdcall; external "imm32.dll" name "ImmGetDescriptionA";


lanBuf : array [0..6] of THandle;
lanDesc : array [0..100] of char;

hLan := GetKeyboardLayoutList(5,lanBuf);
i := ImmGetDescription(lanBuf[0],@lanDesc,sizeof(lanDesc));

i=0

может я что не так делаю? может лучше в реестре где-нибудь поискать?


 
Игорь Шевченко ©   (2003-07-25 14:42) [1]

GetSystemDefaultUILanguage


 
Толик ©   (2003-07-25 14:44) [2]

Что значит "русифицирована ли винда"? Если на английскую винду поставить русский IE это будет являться русификацией? Или интересует список уставленных языков и раскладок клавиатуры?


 
Nicky   (2003-07-25 16:25) [3]

вообще-то надо выяснить, может ли юзер читать русские буквы и писать кириллицей. да, от англорускости винды это, пожалуй не зависит. и если китаец сдуру установил русский тетрис, то еще не факт...
думаю, надо определить есть ли среди раскладок клавы - русская.


 
Игорь Шевченко ©   (2003-07-25 18:52) [4]

GetKeyboardLayoutList


 
Nicky   (2003-07-29 15:44) [5]

и что делать с массивом целочисленных значений? см. начало дискуссии.


 
МалОй   (2003-07-29 16:34) [6]

Я думаю, что надо пользоваться функцией GetLocaleInfo. У нее много разных параметров, наверное, самые подходящие параметры это

char LCData[100];
GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,LOCALE_SENGLANGUAGE,LCData,100);


 
Толик ©   (2003-07-29 17:26) [7]

проверка на наличие в виндах русской раскладки:

procedure TForm1.Button8Click(Sender: TObject);
var
i: longint;
langList: array[0..255] of longword;
begin
for i := 0 to GetKeyboardLayoutList(SizeOf(langList), langList) - 1 do begin
if langList[i] = LoadKeyboardLayout(pchar(IntToHex(LANG_RUSSIAN, 8)), KLF_SUBSTITUTE_OK) then
( "russian language")
проверка на наличие в виндах русской раскладки:

procedure TForm1.Button8Click(Sender: TObject);
var
i: longint;
langList: array[0..255] of longword;
begin
for i := 0 to GetKeyboardLayoutList(SizeOf(langList), langList) - 1 do begin
if langList[i] = LoadKeyboardLayout(pchar(IntToHex(LANG_RUSSIAN, 8)), KLF_SUBSTITUTE_OK) then
ShowMessage("russian language");
end;
end;


 
МалОй   (2003-07-29 20:26) [8]

Я так понял, что вопрос стоит не "установлена ли на компе русская раскладка"? А какая винда установлена. Англоязычная (исходная от Билла) или русицифированный вариант



Страницы: 1 вся ветка

Текущий архив: 2003.10.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
7-40706
Calm
2003-07-26 16:34
2003.10.13
Вывод сообщения поверх всех-всех окон. Не умрут ли игрушки?


3-40262
prorok2
2003-09-23 09:42
2003.10.13
Список доступных SQL серверов в сети


14-40667
alxx
2003-09-23 16:30
2003.10.13
Найти файлы по маске и в них заменить одну строку на другую


3-40253
uuu
2003-09-24 12:17
2003.10.13
Найти разницу в днях между двумя датами.


1-40492
denkop
2003-10-02 10:04
2003.10.13
Наследник от TMySqlQuery из zeos lib