Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UnloadKeyboardLayout не удаляется раскладка 
:(
    Опции темы
Akella
  Дата 21.1.2013, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



D2007
Win7

Код

procedure TForm13.Button1Click(Sender: TObject);
var
   Layout: array[0.. KL_NAMELENGTH] of char;
begin
  LoadKeyboardLayout(StrCopy(Layout,'00000422'), KLF_ACTIVATE);
  if GetLastError > 0 then
    ShowMessage(SysErrorMessage(GetLastError));//показываем текст ошибки  
end;

procedure TForm13.Button2Click(Sender: TObject);
begin
  UnloadKeyboardLayout(LANG_UKRAINIAN);
  if GetLastError > 0 then
    ShowMessage(SysErrorMessage(GetLastError));//показываем текст ошибки
end;


Раскладка добавляется, но НЕ удаляется.

При чем интересно так добавляется: в языковой панели есть украинский язык, можно переключаться на него, а в списке "Языки и службы текстового ввода" его нет.


user posted image
PM MAIL   Вверх
Keeper89
Дата 25.1.2013, 02:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 14
Всего: 58



Потоков нет случайно?


--------------------
PM MAIL WWW   Вверх
Akella
Дата 25.1.2013, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



Нет. Простейшее приложение с одной формой.

Добавлено через 51 секунду
Я уже решил проблему с помощью XAML+CMD. Но, хотелось бы и в WinAPI.
PM MAIL   Вверх
Чучмек
Дата 25.1.2013, 19:38 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 7
Всего: 41



Цитата(Akella @  21.1.2013,  15:48 Найти цитируемый пост)
 но НЕ удаляется

Загружаешь $422, а удалить пытаешься $22.


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Akella
Дата 26.1.2013, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



Тогда подскажи, как правильно удалить, что подставить сюда UnloadKeyboardLayout(LANG_UKRAINIAN);

Добавлено через 50 секунд
А ты посмотри на картинку: 
Цитата(Akella @  21.1.2013,  15:48 Найти цитируемый пост)
в языковой панели есть украинский язык, можно переключаться на него, а в списке "Языки и службы текстового ввода" его нет.


Как так?
PM MAIL   Вверх
kami
Дата 26.1.2013, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 15
Всего: 72



Цитата(Akella @  26.1.2013,  14:26 Найти цитируемый пост)
что подставить сюда UnloadKeyboardLayout(LANG_UKRAINIAN);

hkl, возвращенный LoadKeyboardLayout, я думаю smile 

Цитата(Akella @  26.1.2013,  14:26 Найти цитируемый пост)
Как так?

Цитата

This function only affects the layout for the current process or thread.

PM MAIL WWW   Вверх
Чучмек
Дата 26.1.2013, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 7
Всего: 41



Цитата(Akella @  26.1.2013,  14:26 Найти цитируемый пост)
что подставить сюда UnloadKeyboardLayout


Цитата(kami @  26.1.2013,  17:42 Найти цитируемый пост)
hkl, возвращенный LoadKeyboardLayout, я думаю


Цитата(Чучмек @  25.1.2013,  19:38 Найти цитируемый пост)
$422,




--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
Чучмек
Дата 26.1.2013, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 7
Всего: 41



Код

function MAKELANGID(usPrimaryLanguage,usSubLanguage:Word):cardinal;
begin
result:= (usSubLanguage shl 10) or usPrimaryLanguage;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
LoadKeyboardLayout(PChar(IntToHex(MAKELANGID(LANG_UKRAINIAN,SUBLANG_DEFAULT),8)), KLF_ACTIVATE);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
UnloadKeyboardLayout(MAKELANGID(LANG_UKRAINIAN,SUBLANG_DEFAULT));
end;



Добавлено через 2 минуты и 41 секунду
MAKELANGID


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0756 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.