Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Софт > Windows / Linux & FreeBSD
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.01.2013, 22:01
Pcrepair
 
Сообщения: n/a
По умолчанию Текущая локаль, реестр Windows

Добрый день. В ОС Windows есть системный трей, и в нижнем правом углу "Языковая панель", в которой можно изменить текущий язык ввода.
никто не в курсе где в реестре Windows записывается текущее значение выбранного языка (русский там, английский и далее)?
или может не в реестре а где то еще?
Ответить с цитированием
  #2  
Старый 24.01.2013, 00:24
Andy_Jonson Andy_Jonson вне форума
Прохожий
 
Регистрация: 26.12.2009
Сообщения: 4
Репутация: 10
По умолчанию

"где-то там"...
Скажу лишь что это команды WinAPI и реестр может указать лишь язык по умолчанию.
Причем в Win7 и WinXP разные команды...
Если же речь идет про язык в чужих программах, то это тема для небольшой ветки форума...
Самую лучшую статью на руском находил на Королевстве Делфи.
Ответить с цитированием
  #3  
Старый 24.01.2013, 00:47
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Код:
function GetLanguage: string;
var
  Lar: array[0..$FFF] of char;
begin
  GetKeyboardLayoutName(Lar);
  case StrToInt(StrPas(Lar)) of
    409: Result:='Мова: Англійська';
    419: Result:='Мова: Російська';
    422: Result:='Мова: Українська';
  else
    LoadKeyboardLayout('00000409',KLF_ACTIVATE);
    Result:='Мова: Англійська';
  end;
end;
не оно ?
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #4  
Старый 24.01.2013, 02:56
Pcrepair
 
Сообщения: n/a
По умолчанию

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

может:
- получить ИД браузера?
- по ИД получить соответсвующий ему язык?
Ответить с цитированием
  #5  
Старый 24.01.2013, 09:27
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Microsoft® Win32® Programmer's Reference
Цитата:
The GetKeyboardLayout function retrieves the active keyboard layout for a specified thread. If the dwLayout parameter is zero, the layout for the active thread is returned.

HKL GetKeyboardLayout(
DWORD dwLayout // thread identifier
);

Parameters

dwLayout
Identifies the thread to query or is zero for the current thread.

Return Values

The return value is the keyboard layout handle for the thread. The low word contains a locale identifier identifying the input language and the high word contains a device handle identifying the physical layout of the keyboard.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:16.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter