Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Не могу узнать раскладку клавиатуры в другом окне c++

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Не могу узнать раскладку клавиатуры в другом окне c++
Имя
Сообщение << Старые топики   Новые топики >>
Не могу узнать раскладку клавиатуры в другом окне c++ - 2011-04-05 22:18:46.983333   
Cowboy13

Сообщений: 59
Оценки: 0
Присоединился: 2011-03-06 11:41:58.613333
Не получается узнать раскладку в активном окне. Если вместо этой строчки cout<<GetKeyboardLayout(lpdwProcessId)<<endl; написать cout<<GetKeyboardLayout(0)<<endl; или посмотрев в диспетчере задач номер процесса и вписать вместо нуля, то все норм,но только для окна,которое вызвало эту функцию. в чем может быть трабл?!

#include <iostream>
#include <windows.h>
#include <conio.h>

using namespace std;

int main()
{
HWND hWnd;
DWORD lpdwProcessId;

hWnd=FindWindow(0,L"1.txt - Notepad2");
GetWindowThreadProcessId(hWnd,&lpdwProcessId);

cout<<GetKeyboardLayout(lpdwProcessId)<<endl;

_getch();
}
Post #: 1
RE: Не могу узнать раскладку клавиатуры в другом окне c++ - 2011-04-06 17:39:07.536666   
Klofelin

Сообщений: 68
Оценки: 0
Присоединился: 2010-09-03 20:58:52.116666
А ты не то передаешь в качестве аргумента. Надо так:
#include &lt;iostream&gt; #include &lt;windows.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { HWND hWnd; DWORD threadId; HKL hkl; hWnd=FindWindow("Notepad", NULL); threadId = GetWindowThreadProcessId(hWnd, NULL); hkl = GetKeyboardLayout(threadId); cout &lt;&lt; LOWORD(hkl) &lt;&lt; endl; _getch(); return 0; } И еще обязательно проверяй, находит ли FindWindow нужное окно, по заголовку искать ненадежно.
Post #: 2
RE: Не могу узнать раскладку клавиатуры в другом окне c++ - 2011-04-06 19:04:05.986666   
Cowboy13

Сообщений: 59
Оценки: 0
Присоединился: 2011-03-06 11:41:58.613333
Спасибо. Сижу с телефона,как зайду с компа поставлю оценку.
Post #: 3
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Не могу узнать раскладку клавиатуры в другом окне c++







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.