Имитация нажатия нескольких кнопок crazy

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Имитация нажатия нескольких кнопок crazy

Сообщение mark+ » 08.01.2004 (Чт) 11:00

Так, попробую объяснить проблему:
Имеется программа блокнот. Чистая, только, что открыл. Имеется форма. На форме не имеется ни одного объекта, умеющего ловить фокус. Я нажимаю кнопку, форма (даже если свернута и неактивна) ловит, нажатие ЭТОЙ кнопки и эмулирует нажатие нескольких кнопок. Ловить кнопки я научился, а вот подскажите, как имитировать нажатие нескольких кнопок. То есть, скажем, я нажал плюсик на малой цифровой клавиатуре, а моя программа вставила в блокноте текущую дату и время (я конечно знаю, что есть команда .LOG, это просто пример).

P.S. Что я только не пробовал: (использование виртуальных клавиш, посылание чужой проги (Блокнота) на... SendMessage, keybd_event...) - не помогает. СПАСИБО, если кто откликнется. :P

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 08.01.2004 (Чт) 14:19

Короче все очень просто (если я все правельно понял)

Юзай GetAsyncKeyState '(посмотрешь как она объявляется)

у таймера ставиш Interval на 10
и в перед

Privaye Sub Timer1_timer()

if getAsyncKeyState(vbKeyF12) then

SendKeys "{H}"
SendKeys "{e}"
SendKeys "{l}"
SendKeys "{l}"
SendKeys "{0}"
SendKeys "{!}"

end Sub
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 08.01.2004 (Чт) 14:20

Ой не увидел P. S. :oops: :oops: :oops:

Но у меня так работает
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Сообщение mark+ » 09.01.2004 (Пт) 0:36

Спасибо. А еще есть варианты?

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 09.01.2004 (Пт) 12:19

У тебя как ой Wind

если хочеш могу проект написать и выложить сюда моим способом (у меня XP и все работает)
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Сообщение mark+ » 09.01.2004 (Пт) 20:06

Нет, проект не надо. Я нашел приличный способ. Но есть БОЛЬШАЯ ПРОБЛЕМА:
Может у кого есть полный листинг всех vbKey'сов.
У меня есть:
vbKey для букв A-Z
vbKey для цифр 0-9
vbKey для нумпадовых цифр (сам допер)
vbKey для F1-F24
vbKeySpace (сам допер)
vbKeyDivide (сам допер)
vbKeyAdd (сам допер)
И всё. А для проги треба и все остальные батоны. Заранее БАЛЬСОЙ спасибо.
P.S. :shock: :shock: :shock: Похоже, что VB уникален.

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 09.01.2004 (Пт) 21:15

0-
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-

11-
12-
13-

14-
15-
16-
17-
18-
19-
20-
21-
22-
23-
24-
25-
26-
27-
28-
29-
30-
31-
32-
33-!
34-"
35-#
36-$
37-%
38-&
39-'
40-(
41-)
42-*
43-+
44-,
45--
46-.
47-/
48-0
49-1
50-2
51-3
52-4
53-5
54-6
55-7
56-8
57-9
58-:
59-;
60-<
61-=
62->
63-?
64-@
65-A
66-B
67-C
68-D
69-E
70-F
71-G
72-H
73-I
74-J
75-K
76-L
77-M
78-N
79-O
80-P
81-Q
82-R
83-S
84-T
85-U
86-V
87-W
88-X
89-Y
90-Z
91-[
92-\
93-]
94-^
95-_
96-`
97-a
98-b
99-c
100-d
101-e
102-f
103-g
104-h
105-i
106-j
107-k
108-l
109-m
110-n
111-o
112-p
113-q
114-r
115-s
116-t
117-u
118-v
119-w
120-x
121-y
122-z
123-{
124-|
125-}
126-~
127-
128-Ђ
129-Ѓ
130-‚
131-ѓ
132-„
133-…
134-†
135-‡
136-€
137-‰
138-Љ
139-‹
140-Њ
141-Ќ
142-Ћ
143-Џ
144-ђ
145-‘
146-’
147-“
148-”
149-•
150-–
151-—
152-
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

val
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 168
Зарегистрирован: 14.11.2002 (Чт) 1:14

Сообщение val » 09.01.2004 (Пт) 22:01

Ерундой не занимайся. Открой MSDN и посмотри.

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

Сообщение A.A.Z. » 09.01.2004 (Пт) 23:28

Набери в Immediate (Немедленно) или в коде "VBRun.vbKey", далее будет список.
Нет меня больше

mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Сообщение mark+ » 09.01.2004 (Пт) 23:36

Всем спасибо! Все свободны! :D :D :D :D :D
Эй, модераторы, форум можно закрывать! Вопросов по этой проблеме больше пока нет. :wink: :wink: :wink: :wink: :wink:


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

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

Сейчас этот форум просматривают: AhrefsBot и гости: 3

    TopList