Тема: WinAPI Дізнатися розкладку клавіатури
Перша проблема, коли я намагаюся дізнатися розкладку, це те що віндовс дозволяє налаштувати: або однакова розкладка для всіх програм, або індивідуальна для кожної. Щоб довго не визначати як там налаштував користувач я вирішив розглядати ситуацію коли для кожного вікна окрема розкладка.
GetForegroundWindow - наскільки я зрозумів дає мені hwnd активного вікна
GetKeyboardLayout - повертає розкладку, але тут розпочалися нові проблеми
- що хоче GetKeyboardLayout я не розумію навіщо їй _In_ DWORD idThread а не hwnd наприклад, як даній функції сказати щоб вона вернула розкладку яка зараз у активному вікні (тобто ту що я отримав за допомогою GetForegroundWindow) ?
- Я використав 0 (0 означає ... 0 for the current thread) але й що вона вертає якийсь HKL якщо подивитися в опис я так зрозумів це ідентифікатор мов код мови представлені у 16 коді, то HKL можна (як так думаю) конвертувати в int, а в int_ті цей результат виглядає так 67699721 а якщо подивитися у 16 системі то так 4090409 (можливо я не правильно перетворив, я робив так включив window calculator поставив перемикача в dec, ввів 67699721 і поставив перемикача в hex) ну і звичайно такого коду мов немає. Чому я отримую не вірний код мов ?
- current thread що це ? Потік моєї програми чи активної програми на даний момент ?