Какая клавиша нажата

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
sQx
Философ
Философ
 
Сообщения: 365
Зарегистрирован: 08.08.2002 (Чт) 19:23

Какая клавиша нажата

Сообщение sQx » 20.02.2005 (Вс) 2:23

как проверить какая клавиша была нажата не в приложении а вообще в виндовс (также нужно Shift+K, например или Ctrl+Shift+I), и как ссимулировать нажатие клавиши (также нужно Shift+K, например или Ctrl+Shift+I)
Высшая мудрость - знать самого себя.
Ученый человек - сосуд, мудрец - источник.
Что разумно, то действительно, и что действительно, то разумно.
Знание - сила, всезнание - слабость.
Я знаю только то, что ничего не знаю.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.02.2005 (Вс) 2:32

1. Лучше всего хуком. Метод "для бедных" - GetAsyncKeyState.
2. VBA.SendKeys не подходит? Тогда keybd_event.
Изображение

sQx
Философ
Философ
 
Сообщения: 365
Зарегистрирован: 08.08.2002 (Чт) 19:23

Сообщение sQx » 20.02.2005 (Вс) 6:02

а как сделать что бы клавиша нажалась и не отпускалась?
Высшая мудрость - знать самого себя.
Ученый человек - сосуд, мудрец - источник.
Что разумно, то действительно, и что действительно, то разумно.
Знание - сила, всезнание - слабость.
Я знаю только то, что ничего не знаю.

Крост
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 291
Зарегистрирован: 30.01.2005 (Вс) 6:06
Откуда: Питер

Сообщение Крост » 20.02.2005 (Вс) 6:04

Нажми и не отпускай её... :lol:
Хороший :D, плохой :x, злой :twisted:.

(Не)Люблю кАпаться в чЮжих сорсах.

Хочешь узнать что такое Piligrim? Прошу - http://www.piligrim-gps.ru/

sQx
Философ
Философ
 
Сообщения: 365
Зарегистрирован: 08.08.2002 (Чт) 19:23

Сообщение sQx » 20.02.2005 (Вс) 6:31

ф-я GetAsyncKeyState, запоминает все кнопки которые были нажаты до запуска проги.. как обнулить?
Высшая мудрость - знать самого себя.
Ученый человек - сосуд, мудрец - источник.
Что разумно, то действительно, и что действительно, то разумно.
Знание - сила, всезнание - слабость.
Я знаю только то, что ничего не знаю.

sQx
Философ
Философ
 
Сообщения: 365
Зарегистрирован: 08.08.2002 (Чт) 19:23

Сообщение sQx » 20.02.2005 (Вс) 6:45

Обнулил...
Мне нужно нажать и не отпусать клавишу...
Крост, мне некогда шутить...
Высшая мудрость - знать самого себя.
Ученый человек - сосуд, мудрец - источник.
Что разумно, то действительно, и что действительно, то разумно.
Знание - сила, всезнание - слабость.
Я знаю только то, что ничего не знаю.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 20.02.2005 (Вс) 11:16

Ну так keybd_event vbkeya, 0, 0, 0 - нажать; , 0, 2, 0 - отпустить :roll:

sQx
Философ
Философ
 
Сообщения: 365
Зарегистрирован: 08.08.2002 (Чт) 19:23

Сообщение sQx » 20.02.2005 (Вс) 21:05

keybd_event vbkeya, 0, 0, 0
в том то и проблема что не работает.. я проверял.. ставил в таймер запускал через 2 сек, фокус на текстовое поле, а оно вводит только один символ...
таймер после вызова вырубаю конешно...
Высшая мудрость - знать самого себя.
Ученый человек - сосуд, мудрец - источник.
Что разумно, то действительно, и что действительно, то разумно.
Знание - сила, всезнание - слабость.
Я знаю только то, что ничего не знаю.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 20.02.2005 (Вс) 21:19

Хм... Хз, может,
Код: Выделить всё
Do Until Release
keybd_event vbKeyA, 0, 0, 0
Loop
При этом Release как-то кастомно выставляется (например, таймер отслеживает значение GetTickCount и делает соответствующие выводы) :roll:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.02.2005 (Вс) 21:24

AAZ прав - автоповтор нужно организовывать самому.
Изображение


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 159

    TopList