Скачать бесплатно скрипты, Программы, Шаблоны сайтов, Иконки, Кисти фотошоп

Регистрация или вход Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней

Меню по сайту
  • Главная
  • Регистрация
  • Поиск по сайту
  • Форум
  • Конктакты

  • Скрипты
    Графика
    Программы
    Статьи и Учебники
    Разное

    Новости

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

    До встречи Нового Года остались считанные дни, а поэтому для многих россиян главным вопросом предстоящей недели станет вопрос о подарках родным и близким. Что подарить, где купить, а главное, какую су...
    Подробнее

    Вот уже более восьми лет Консалтинговая Группа оказывает широкий спектр услуг в сфере налогообложения – от обзорных консультаций для компаний, начинающих бизнес в Украине, до комплексного сопров...
    Подробнее

    Облачный хостинг Clodo представил новое для российского рынка хостинга решение -- облачное хранилище. Решение предназначено в первую очередь для хранения и распространения статического контента (графи...
    Подробнее

    Непрофессионалу очень сложно сориентироваться в реалиях рынка недвижимости крупнейшего города Сибири. Даже в таком, казалось бы простом деле, как аренда жилья, помощь профессионалов сегодня необходима...
    Подробнее


    Партнеры


    Google
    Сообщения с форума
    ТемыАвторПр.От.Последний
    Полезные скриптыwertock26494bra
    Allgrafica.ruKenT274bra
    неработает ссілка скачиванияvadim15950vadim
    Zoc 4zenzin13040zenzin
    Java АППЛЕТЫGennadiy17120Gennadiy
    Ищу Дрова.sasha61089321150sasha610893
    Не Могу СкачатьMaToKZ19560MaToKZ
    Ссылка Не Работаетsander15620sander
    Стол Заказов. Чтото Ищите Но Не Можете Найти, Вам Сюда!!!KenT1521222ROMAS-MASTER
    Софт Для Раскрутки Сайта!!!dm1z56724ROMAS-MASTER

    Партнеры
    Статьи
    Статьи по программированию на Delphi
    Перейти к Оглавлению »» Раздел статей Программисту »» Статьи по программированию на Delphi »» Получение и установка текущей раскладки клавиатуры средствами Delphi
    Получение и установка текущей раскладки клавиатуры средствами Delphi

    Ниже представлены 5 функций для получения/установки раскладки клавиатуры в своем или активном в текущий момент времени приложении:

    • function NameKeyboardLayout(layout : LongWord) : string; - Получает название раскладки из списка (для удобства сделал :)))
    • function GetActiveKbdLayout : LongWord; - Получает раскладку в своей программе
    • function GetActiveKbdLayoutWnd : LongWord; - Получает раскладку в активном окне
    • procedure SetKbdLayout(kbLayout : LongWord); - Устанавливает раскладку в своей программе
    • procedure SetLayoutActiveWnd(kbLayout : LongWord); - Устанавливает раскладку в активном окне

    Исходный текст

    { **** UBPFD *********** by delphibase.endimus.ru **** Зависимости: Windows, Messages Автор:       savva, savva@nm.ru, ICQ:126578975, Орел Copyright:   Сапронов Алексей (Savva) Дата:        27 июня 2002 г. **************************************************** }  {типы описываем } const   CNT_LAYOUT = 2; // количество известных раскладок   ENGLISH = $409;   RUSSIAN = $419;    TKbdValue : array [1..CNT_LAYOUT] of LongWord =                 ( ENGLISH,                   RUSSIAN                 );   TKbdDisplayNames : array [1..CNT_LAYOUT] of string =                 ('English',                  'Русский'                 );   {----- собственно сами процедури и функции -----}    {получаем название раскладки} function NameKeyboardLayout(layout : LongWord) : string; var   i: integer; begin   Result:='';   try     for i:=1 to CNT_LAYOUT do       if TKbdValue[i]=layout then Result:= TKbdDisplayNames[i];   except     Result:='';   end; end; //**************** end of NameKeyboardLayot *************************** {активная раскладка в своей программе} function GetActiveKbdLayout : LongWord; begin   result:= GetKeyboardLayout(0) shr $10; end; //***************** end of GetActiveKbdLayot **************************** {активная раскладка в активном окне} function GetActiveKbdLayoutWnd : LongWord; var   hWindow,idProcess : THandle; begin   // получить handle активного окна чужой программы   hWindow := GetForegroundWindow;   // Получить идентификатор чужого процесса   idProcess := GetWindowThreadProcessId(hWindow,nil);   // Получить текущую раскладку в чужой программе   Result:=(GetKeyboardLayout(idProcess) shr $10); end; //***************** end of GetActiveKbdLayotWnd ************************** {установить раскладку в своей программе} procedure SetKbdLayout(kbLayout : LongWord); var   Layout: HKL; begin   // Получить ссылку на раскладку   Layout:=LoadKeyboardLayout(PChar(IntToStr(kbLayout)), 0);   // Переключить раскладку на русскую   ActivateKeyboardLayout(Layout,KLF_ACTIVATE); end; //****************** end of SetKbdLayot ********************************** {установить раскладку в активном окне} procedure SetLayoutActiveWnd(kbLayout : LongWord); var    Layout: HKL;   hWindow{, idProcess} : THandle; // ION T: не используется begin   // получить handle активного окна чужой программы   hWindow := GetForegroundWindow;   // Получить ссылку на раскладку   Layout:=LoadKeyboardLayout(PChar(IntToStr(kbLayout)), 0);   // посылаем сообщение о смене раскладки   sendMessage(hWindow,WM_INPUTLANGCHANGEREQUEST,1,Layout); end; //***************** end of SetLayoutActiveWnd ***************************** 

    Пример использования

    ...   {активная раскладка в активном окне}     Label1.Caption:= NameKeyboardLayout(GetActiveKbdLayoutWnd);   {активная раскладка в своей программе}     Label2.Caption:= NameKeyboardLayout(GetActiveKbdLayout);   {установить раскладку в своей программе}     SetKbdLayout(ENGLISH);   {установить раскладку в активном окне}     SetLayoutActiveWnd(ENGLISH);

     

    Источник: http://null.wallst.ru


    Дата публикации: 26.01.2006
    Прочитано: 1425 раз


    Дополнительно на данную тему
    Копирование и удаление файлов в DelphiКопирование и удаление файлов в Delphi
    Delphi и Flash. Совмещение несовместимого!Delphi и Flash. Совмещение несовместимого!
    Поговорим о случайных числах в DelphiПоговорим о случайных числах в Delphi
    Создаем гиперссылку в DelphiСоздаем гиперссылку в Delphi
    Как узнать информацию о системе в DelphiКак узнать информацию о системе в Delphi
    Смотрим в глубь DLL средствами DelphiСмотрим в глубь DLL средствами Delphi
    Шифрование в DelphiШифрование в Delphi
    Тест скоростных характеристик некоторых компонентов в DelphiТест скоростных характеристик некоторых компонентов в Delphi
    Защита формы паролем реализованная в DelphiЗащита формы паролем реализованная в Delphi
    Уменьшаем размер EXE в 40 раз, или Вся правда о консольных приложениях DelphiУменьшаем размер EXE в 40 раз, или Вся правда о консольных приложениях Delphi
    [ Назад | Начало | Наверх ]
    Статьи для вебмастера и программиста
      Последние статьи   Популярные статьи
    1Продвижение сайта. Распространенные ...  (Прочитано: 1672)
    2Настройка sendmail под Windows  (Прочитано: 1371)
    3Минимальная настройка phpmyadmin для...  (Прочитано: 1217)
    4Минимальная настройка mysql для перв...  (Прочитано: 1268)
    5Бесплатный ДНС Primary и Secondary  (Прочитано: 1315)
    6Основные настройки и защита apache п...  (Прочитано: 1377)
    7Как установить рабочий сервер apache...  (Прочитано: 1445)
    8Подготовка PHP для запуска сервера  (Прочитано: 1235)
    9TCP/IP. Иллюстрированный учебник  (Прочитано: 1243)
    10Учимся ловить скролл  (Прочитано: 5623)
    Как скрыть свой IP  (Прочитано: 53358)
    Взлом паролей Windows за считанные с...  (Прочитано: 27380)
    Используем удаленный рабочий стол в ...  (Прочитано: 23574)
    Обновление BIOS  (Прочитано: 20461)
    Как создать сайт? Советы для новичко...  (Прочитано: 17731)
    Faq Windows NT  (Прочитано: 16383)
    Программы верстки  (Прочитано: 15680)
    О Командах MS-DOS Типы команд MS-DOS  (Прочитано: 15336)
    Привлекательный Web-узел - своими ру...  (Прочитано: 14645)
    10 С чего начинается сайт?  (Прочитано: 12476)
    User Info


    Добро пожаловать,
    Guest

    Регистрация или входРегистрация или вход
    Потеряли пароль?Потеряли пароль?

    Логин:
    Пароль:

    Сейчас онлайн
    ПользователейПользователей: 0
    ГостейГостей: 5
    ВсегоВсего: 5





    Главная | | Темы | Вопросы и ответы | Учебники | Рекомендовать | Обратная связь

    MyScript-V2.ru