Re[3]: получить состояние языковой панели
От: TK Лес кывт.рф
Дата: 08.03.06 20:14
Оценка: 2 (1)
Hello, "lehamain"

> неужели нельзя как то дублировать то, что показывает языковая панель постоянно?

> очень нужно создать такой монитор ввода языка.

GetKeyboardLayout возвращает HKL для потока. Нужно просто отслеживать переключение активности окон.
Posted via RSDN NNTP Server 2.0
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
получить состояние языковой панели
От: lehamain  
Дата: 08.03.06 04:59
Оценка:
тоесть не только для своего приложения, а просто дублировать(допустим вывести в label)то, что в данный момент отображает языковая панель подскажите плз.

Мне известно, что мне ничего не известно... (О. Хайям)
Re: получить состояние языковой панели
От: Chardex Россия  
Дата: 08.03.06 08:35
Оценка:
Здравствуйте, lehamain, Вы писали:

L>тоесть не только для своего приложения, а просто дублировать(допустим вывести в label)то, что в данный момент отображает языковая панель подскажите плз.


    [DllImport("user32.dll")]
    static extern bool GetKeyboardLayoutName([Out] StringBuilder pwszKLID);
    [DllImport("user32")]
    public static extern bool GetKeyboardLayoutName(IntPtr pwszKLID);
Re: получить состояние языковой панели
От: Аноним  
Дата: 08.03.06 08:58
Оценка:
Здравствуйте, lehamain, Вы писали:

L>тоесть не только для своего приложения, а просто дублировать(допустим вывести в label)то, что в данный момент отображает языковая панель подскажите плз.


InputLanguage class (пример из MSDN)
public void MyLayoutName() {
   // Gets the current input language.
   InputLanguage myCurrentLanguage = InputLanguage.CurrentInputLanguage;

   if(myCurrentLanguage != null) 
      textBox1.Text = "Layout: " + myCurrentLanguage.LayoutName;
   else
      textBox1.Text = "There is no current language";
}
Re[2]: получить состояние языковой панели
От: lehamain  
Дата: 08.03.06 20:03
Оценка:
Здравствуйте, Chardex, Вы писали:

>>
>>[DllImport("user32.dll")]
>>static extern bool GetKeyboardLayoutName([Out] StringBuilder pwszKLID);
>>[DllImport("user32")]
>>public static extern bool GetKeyboardLayoutName(IntPtr pwszKLID);
>>


Хорошо.Но это отобразит только для моего окна.
Если оно потеряет фокус то переключение раскладки уже не изменится
(даже если эту функцию вызывать по таймеру).
неужели нельзя как то дублировать то, что показывает языковая панель постоянно?
очень нужно создать такой монитор ввода языка.

Мне известно, что мне ничего не известно... (О. Хайям)
Re[4]: получить состояние языковой панели
От: lehamain  
Дата: 08.03.06 20:32
Оценка:
Здравствуйте, TK, Вы писали:

TK>GetKeyboardLayout возвращает HKL для потока. Нужно просто отслеживать переключение активности окон.


спасибо за подсказку. буду разбираться

Мне известно, что мне ничего не известно... (О. Хайям)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.