Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Вниз

... ЯЗЫК ... как много в этом звуке   Найти похожие ветки 

 
AlexGreG   (2002-10-22 07:00) [0]

Привет, привет.

Хочется при запуске программы вводить пароль, используя латинские символы, а после входа в систему сразу (не нажимая Alt+Shift) вводить русские символы.

Как бы это реализовать. Чувствую, где-то есть стандартные функции...

Подскажи, пожалуйста, Мастер.
Заранее благодарю.

AlexGreG


 
roadster   (2002-10-22 07:03) [1]

Есть у меня модулек...
//********************************************************
//Юнит содержи фичи для переключения раскладки клавиатуры
//в пределах приложения
//********************************************************
unit kbrdtools;

interface
const
LANGUAGE_NEUTRAL ="00000000";
LANGUAGE_PROCESS_DEFAULT="00000400";
LANGUAGE_GERMAN ="00000407";
LANGUAGE_USA ="00000409";
LANGUAGE_UK ="00000809";
LANGUAGE_FRENCH ="0000040C";
LANGUAGE_ITALIAN ="00000410";
LANGUAGE_RUSSIAN ="00000419";
//*********************
//Функсьён SetLanguage ставит раскладку клавы, указанную
//в параметре Language.
//если Language не указать, будет ставиться русская раскладочка
//в качестве Language можно передать вышеописанные константы
//или вручную строку.
//подробнее про раскладки можно посмотреть в справке по
//WIN API в разделе Language Identifiers. Там можно посмотреть
//что передать в качестве параметра. Есть особенность:
//Например, для русской страницы идентификатором является 0x0419,
//значит, в качестве Language следует передать строку "00000419"
//за эти трансформации меня не надо ругать и обзывать ламером,
//потому что это в апишную LoadKeyboardLayout так надо передавать- строкой
//Пы.Сы. Функция вернет вранье, если раскладочку не удалось поставить
function SetLanguage(Language:String=LANGUAGE_RUSSIAN):Boolean;
//Функция SetRussianLanguage ставит РУССКУЮ раскладку
//На самом деле происходит SetLanguage(LANGUAGE_RUSSIAN)
function SetRussianLanguage:Boolean;
//Следующие две функции ставят в приложении соответственно
//следующую или предыдущую раскладку
function SetNextLanguage:Boolean;
function SetPreviousLanguage:Boolean;
//*********************
implementation
uses
Windows;
//*********************
function SetLanguage(Language:String=LANGUAGE_RUSSIAN):Boolean;
var
KBHandle:HWND;
begin
Result:=True;
KBHandle:=LoadKeyboardLayout(PChar(Language),KLF_ACTIVATE);
if KBHandle<>0
then begin
if ActivateKeyboardLayout(KBHandle,0)=0
then Result:=False;
end
else Result:=False;
end;
//*********************
function SetRussianLanguage:Boolean;
begin
Result:=False;
if SetLanguage(LANGUAGE_RUSSIAN) then Result:=True;
end;
//*********************
function SetNextLanguage:Boolean;
begin
Result:=False;
if ActivateKeyboardLayout(HKL_NEXT,0)<>0
then Result:=True;
end;
//*********************
function SetPreviousLanguage:Boolean;
begin
Result:=False;
if ActivateKeyboardLayout(HKL_PREV,0)<>0
then Result:=True;
end;
//*********************
end.


 
MetalFan   (2002-10-22 09:10) [2]

В русской версии Windows 2000 при входе в систему по умолчанию установлена русская раскладка клавиатуры. Чтобы устанавливалась английская, надо в разделе реестра

HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
строковому параметру "1" присвоить значение "00000409", а параметру "2" — значение "00000419".


 
AlexGreG   (2002-10-22 13:34) [3]

Отличный код.
Спасибо тебе, roadster

для MetalFan:

... Причём здесь реестр


 
roadster   (2002-10-22 14:04) [4]

:0)



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

Форум: "Основная";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
14-101454
vopros
2002-10-07 11:13
2002.10.31
Люди у меня радикальное предложение


1-101307
Apay
2002-10-19 17:49
2002.10.31
Bitmap ->Grayscale


1-101366
Paha_pmk
2002-10-21 11:23
2002.10.31
Как в Делфи 6.0 сохранить проект как для Делфи 5.0 ???


1-101355
KPY
2002-10-21 07:53
2002.10.31
Перетаскивание рисунка по форме при помощи мыши


1-101301
V.exeR
2002-10-18 22:50
2002.10.31
Почему не дружат TImageList и TTreeView?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский