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

Вниз

Как получить имя keyboard layot-a?   Найти похожие ветки 

 
Боян Георгиев   (2003-08-17 18:08) [0]

Привет мастера!
Я надо получить имя keyboard layot-a?
Я попробул функцию GetKeyboardLayoutName, но програма дает ошибка. Вот код:

procedure TForm1.Button1Click(Sender: TObject);
var
a: pAnsiChar;
begin
GetKeyboardLayoutName(a);
ShowMessage(a);
end;

Я знаю что функция работает на win98,
но мне надо използовать ее на win2000.

Помогите, мастера.


 
DVM ©   (2003-08-17 18:10) [1]

память не выделили под название


 
Anatoly Podgoretsky ©   (2003-08-17 18:11) [2]

А память пушкин будет выделять?
Надо выделить как минимум KL_NAMELENGTH байт под буфер


 
Боян Георгиев   (2003-08-17 18:19) [3]

ок. Заделил память для а

procedure TForm1.Button2Click(Sender: TObject);
var
a: pansichar;
begin
new(a);
GetKeyboardLayoutName(a);
ShowMessage(a);
dispatch(a);
end;

Результат: 00020409

Я хочу получить имя клавиатуры
Или не заделяю правильно памяти?
SetLength не совместима с a.

Как надо заделить памяти


 
DVM ©   (2003-08-17 18:26) [4]

Можно так наверное...

procedure TForm1.Button2Click(Sender: TObject);
var
a: array[1..KL_NAMELENGTH] of char;
begin
GetKeyboardLayoutName(@a[1]);
...
end;


 
MBo ©   (2003-08-17 18:32) [5]

var
hk:dword;
a: array[0..MAX_PATH] of char;
begin
hk:=GetKeyboardLayout(0);
GetLocaleInfo(LoWord(hk), LOCALE_SLANGUAGE, a, MAX_PATH);
ShowMessage(a);


 
Боян Георгиев   (2003-08-17 19:41) [6]

> MBo & DVM
Спасибо для примеров!
Они работают отлично!



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

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

Наверх




Память: 0.47 MB
Время: 0.036 c
3-1320
Alex_74
2003-08-06 14:16
2003.09.01
Установка фильтра по полю даты в ApolloTable


1-1497
ossa
2003-08-18 08:41
2003.09.01
Подскажите как из 2-го модуля вывести в 1-м в Label текст.


1-1441
ArtAlex
2003-08-18 20:56
2003.09.01
Как можно отследить процесс?


7-1695
Chieftain
2003-06-18 18:26
2003.09.01
Есть *.vxd - файл. Как заставить систему видеть *.vxd файл?


1-1387
Spawn
2003-08-16 10:44
2003.09.01
Опять Word