Отслеживание раскладки клавиатуры

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Отслеживание раскладки клавиатуры

Сообщение babaytugur » 31.07.2006 (Пн) 9:12

Уважаемые гуру!
Вопрос такой: имеется форма на которой отображается текущая раскладка клавиатыры, но есть проблема отслеживается только тогда
когда окно моей формы активно, если форма не активна тогда не отслеживается. Можно ли сделать, что даже при не активном окне
отслеживалась раскладка?
Исходник прилагаю.
Вложения
langpanel.rar
(5.06 Кб) Скачиваний: 126
Последний раз редактировалось babaytugur 31.07.2006 (Пн) 13:05, всего редактировалось 1 раз.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 31.07.2006 (Пн) 9:51

Вроде бы для каждого процесса устанавливается своя раскладка, GetKeybordLayoutName возвращает именно ее. Что автор понимает под "отслеживанием"? Получение раскладки других процессов?
Лучший способ понять что-то самому — объяснить это другому.

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 31.07.2006 (Пн) 10:14

Да именно Получение раскладки других процессов
в частности одной программы 1с

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 31.07.2006 (Пн) 10:49

Насколько я понимаю, у тебя эта функция отслеживает раскладку клавиатуры только той программы, в которой она вызывается :)

http://bbs.vbstreets.ru/viewtopic.php?t ... 0%E4%EA%2A
Быть... или не быть. Вот. В чём вопрос?

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 31.07.2006 (Пн) 11:22

Может я не правильно выразился,
нужна альтернатива языковой панели виндовс.
Окно программы находится по верх всех и отображает состояние
раскладки клавиатуры активной программы.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 31.07.2006 (Пн) 11:27

Ссылку смотри уже.
Быть... или не быть. Вот. В чём вопрос?

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 31.07.2006 (Пн) 11:30

Окно программы находится по верх всех и отображает состояние
раскладки клавиатуры активной программы.

А разве стандартная, так не делает? Не помню как в других, но в ХРюше так и есть...
Пора уже всем хорошим людям собраться и убить всех плохих людей.

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 31.07.2006 (Пн) 11:55

GB826 писал(а):А разве стандартная, так не делает? Не помню как в других, но в ХРюше так и есть...

Простите но стандартная кто?

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 31.07.2006 (Пн) 11:57

uhm писал(а):Ссылку смотри уже.

Смотрел, не уверен, что это то ,что мне нужно

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 31.07.2006 (Пн) 12:39

"Стандартная" - стандартная панель раскладки клавиатуры, она же "языковая панель". Ее можно "андокнуть" из строки состояния и разместить где угодно.

Судя по твоему описанию задачи, по ссылке то, что тебе нужно. :roll:
Быть... или не быть. Вот. В чём вопрос?

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 31.07.2006 (Пн) 12:49

uhm
ну мне нужно тоже самое только в моей форме

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 31.07.2006 (Пн) 12:59

ЗЫ Пожалуйста не надо называть файлы test.rar т.к. их миллионы и постоянно заменять? Называйте просто keypanel или langpanel... Не удобно :?
#define ROFL 0xDDDD

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 31.07.2006 (Пн) 13:05

DirectXManiac писал(а):ЗЫ Пожалуйста не надо называть файлы test.rar т.к. их миллионы и постоянно заменять? Называйте просто keypanel или langpanel... Не удобно :?

Исправил :?

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 31.07.2006 (Пн) 14:36

Сдаюсь. :roll:
Быть... или не быть. Вот. В чём вопрос?

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 31.07.2006 (Пн) 15:32

uhm писал(а):Сдаюсь. :roll:

Вариантов вообще нет?

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 31.07.2006 (Пн) 16:18

Быть... или не быть. Вот. В чём вопрос?

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 31.07.2006 (Пн) 16:58


DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 31.07.2006 (Пн) 17:13

Спасибо!
Объясни толком что конкретно ты хочешь сделать, где, на чём...
Ты говорил для форума... на PHP?
#define ROFL 0xDDDD

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 01.08.2006 (Вт) 8:09

DirectXManiac писал(а):Спасибо!
Объясни толком что конкретно ты хочешь сделать, где, на чём...
Ты говорил для форума... на PHP?

Пожалуйста!
Только не для форума а для формы.
Пример приатачен в начале топика.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 01.08.2006 (Вт) 8:49

babaytugur, хватит тупить, тебе уже раз десять ссылку дали. Сложно оттуда строчку вычитать?
GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow())) :!: :!: :!:
Лучший способ понять что-то самому — объяснить это другому.

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 02.08.2006 (Ср) 10:03

Вычитал, вставляю, не пашет.
Я не программер, знал бы как сделать, сделал бы, а не спрашивал
у вас

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 02.08.2006 (Ср) 10:42

...вычитал, вставил... куда вставил? в чем выражается непахание?
Весь мир матрица, а мы в нем потоки байтов!

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 02.08.2006 (Ср) 15:58

Наверное пишет ошибку "Функция не определена" :roll:
Если всё делать своими ручками, они скоро отвалятся !

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 03.08.2006 (Чт) 9:29

Её именно и пишет

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 03.08.2006 (Чт) 9:37

Так ты функции то объяви при помощи Declare
Весь мир матрица, а мы в нем потоки байтов!

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 03.08.2006 (Чт) 9:40

Так знал бы как объявил бы.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 03.08.2006 (Чт) 9:49

ой ёёёё как все запущено то... :( Я в печали :(

Лови:

Код: Выделить всё
Public Declare Function GetKeyboardLayout Lib "user32" Alias "GetKeyboardLayout" (ByVal dwLayout As Long) As Long
Public Declare Function GetWindowThreadProcessId Lib "user32" Alias "GetWindowThreadProcessId" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Public Declare Function GetForegroundWindow Lib "user32" Alias "GetForegroundWindow" () As Long



но в след раз ищи сам :evil:
Весь мир матрица, а мы в нем потоки байтов!

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 03.08.2006 (Чт) 10:01

Спасибо, но вот что получаю
Вложения
Untitled-1.jpg
Untitled-1.jpg (14.75 Кб) Просмотров: 5117

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 03.08.2006 (Чт) 10:04

:evil: :evil: :evil:

так объяви их Private!
Весь мир матрица, а мы в нем потоки байтов!

babaytugur
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 14.04.2005 (Чт) 8:25

Сообщение babaytugur » 03.08.2006 (Чт) 10:12

Не знаю
Вложения
Untitled-2.jpg
Untitled-2.jpg (58 Кб) Просмотров: 5151

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 80

    TopList  
cron