Страница: 1 |
Страница: 1 |
Вопрос: Раскладка клавиатуры в активном окне (vb.net)
Добавлено: 12.03.10 16:34
Автор вопроса: Puzer
Не получаеться определить раскладку в активном окне,Вот мой код:
Declare Function GetForegroundWindow Lib "user32" Alias "GetForegroundWindow" () As Long
Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, ByVal lpdwProcessId As Long) As Long
Dim ThreadID As Long
Dim ThreadLayout As Long
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
ThreadID = GetWindowThreadProcessId(GetForegroundWindow, "ЧТО ТО СЮДА НАДО")
ThreadLayout = GetKeyboardLayout(ThreadID)'получаем саму раскладку
смущает сам GetWindowThreadProcessId,точнее lpdwProcessId - что это, и как добыть ?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #1
Добавлено: 12.03.10 19:36
А к чему в NET такие извращения как проверка раскладки по таймеру??? Для отлова смены раскладки у формы есть соответствующее событие... не стоит изобретать велосипед..
Номер ответа: 2
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #2
Добавлено: 12.03.10 19:37
или это в чужом окне??? Если в чужом то уже сразу видно что в деклациях ошибки.. и дальше можно даже не смотреть..
Номер ответа: 3
Автор ответа:
Puzer
Вопросов: 2
Ответов: 2
Профиль | | #3
Добавлено: 12.03.10 20:25
ну а как правильно это сделать ??
Номер ответа: 4
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #4
Добавлено: 12.03.10 21:46
Например вот так..
Номер ответа: 5
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #5
Добавлено: 12.03.10 21:47
сорри..
http://www.cyberforum.ru/csharp-net/thread20029.html
Номер ответа: 6
Автор ответа:
Just
Вопросов: 4
Ответов: 330
Профиль | | #6
Добавлено: 13.03.10 11:33
на vb6 у меня работает твой код, только немного с др параметром
Номер ответа: 7
Автор ответа:
Puzer
Вопросов: 2
Ответов: 2
Профиль | | #7
Добавлено: 14.03.10 21:44
а у меня в
при откладке пишет:
Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.