Как послать нажатие клавиш в другую прогу?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Как послать нажатие клавиш в другую прогу?

Сообщение A.A.Z. » 24.11.2003 (Пн) 20:37

Короче говоря, я делаю небольшой трейнер, который, когда, допустим, нажимаешь на F5, набирает, там, код на бессмертие. Через SendKeys не получается - когда прога активна - всё нормально, а когда не активна - ничего не происходит. Хочу попробовать через SendMessage - да вот только не помню, как. Подскажите, плиз, или может кто какой-то другой способ знает?.. :roll:
Нет меня больше

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

Сообщение A.A.Z. » 24.11.2003 (Пн) 20:52

Сорри, но я буду тему вверх тащить - очень ответ нужен!! Просто срочно!!
Неужели никто не знает??
Последний раз редактировалось A.A.Z. 24.11.2003 (Пн) 20:58, всего редактировалось 1 раз.
Нет меня больше

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

Сообщение A.A.Z. » 24.11.2003 (Пн) 20:58

UP
Нет меня больше

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 24.11.2003 (Пн) 21:01

Попробуй через keybd_event - я делал трейнер к Heroes II - "32765" давало 5 чёрных драконов, и я реших их наплодить :wink:

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_EXTENDEDKEY = &H1

'У таймера период любой, я ставил ~50

Private Sub Timer1_Timer()
'IDDQD даёт бессмертие
If GetAsyncKeyState(vbKeyF5) < 0 Then
Timer1.Enabled = False
keybd_event vbKeyI, 0, KEYEVENTF_EXTENDEDKEY, 0
DoEvents
keybd_event vbKeyD, 0, KEYEVENTF_EXTENDEDKEY, 0
DoEvents
keybd_event vbKeyD, 0, KEYEVENTF_EXTENDEDKEY, 0
DoEvents
keybd_event vbKeyQ, 0, KEYEVENTF_EXTENDEDKEY, 0
DoEvents
keybd_event vbKeyD, 0, KEYEVENTF_EXTENDEDKEY, 0
DoEvents
Timer1.Enabled = True
End If
End Sub

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

Сообщение A.A.Z. » 24.11.2003 (Пн) 21:11

Спсаибо за ответ, попробую! :)
Нет меня больше

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

Сообщение A.A.Z. » 24.11.2003 (Пн) 21:15

Thanks a LOT!!! :D :mrgreen:
Нет меня больше

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 25.11.2003 (Вт) 5:18

:mrgreen:Не за что!:mrgreen::mrgreen:


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

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

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 9

    TopList