Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
Oberon
-
- Начинающий

-
-
- Сообщения: 12
- Зарегистрирован: 03.10.2004 (Вс) 17:00
Oberon » 08.01.2005 (Сб) 17:13
Можно ли выполнять движения мышкой в чужом окне и притом ещё так чтобы после одного раза действие выполнялось без участия мыши?
Вопрос по меньшей мере странный ,но может у кого и появится идея .

-
tyomitch
-
- Пользователь #1352

-

-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 08.01.2005 (Сб) 19:29
Можно, через журнальные хуки. При первом разе записать движения мыши, при всех остальных - проигрывать.
-
Oberon
-
- Начинающий

-
-
- Сообщения: 12
- Зарегистрирован: 03.10.2004 (Вс) 17:00
Oberon » 08.01.2005 (Сб) 21:37
А можно поподробнее?
А то я в VB еще не работал с хуками.
Кстати этот вариант не будет дёргать мышку при каждом исполнении?
-
tyomitch
-
- Пользователь #1352

-

-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 08.01.2005 (Сб) 23:38
Дёргать - будет.
Поищи гуглом по слову WH_JOURNALPLAYBACK, мне лень

-
Oberon
-
- Начинающий

-
-
- Сообщения: 12
- Зарегистрирован: 03.10.2004 (Вс) 17:00
Oberon » 08.01.2005 (Сб) 23:41
Не, если дёргает ,то не надо я могу использовать ActMaker или ещё чтото вроде.
-
Oberon
-
- Начинающий

-
-
- Сообщения: 12
- Зарегистрирован: 03.10.2004 (Вс) 17:00
Oberon » 15.01.2005 (Сб) 20:57
Я тут подумал что если посылать изменённую структуру cp, в функциях с buttondown и buttonup , то у меня как раз и получится драгить что-либо, но програмка не выполняет даже элементарный клик.В чём может быть проблема ?
- Код: Выделить всё
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim cp As POINTAPI, MsgRs As Long
GetCursorPos cp
myhwnd = WindowFromPoint(cp.x, cp.y)
GetWindowThreadProcessId myhwnd, procId
MsgRs = PostMessage(WHnd, WM_LBUTTONDOWN, vbNull, cp)
MsgRs = PostMessage(WHnd, WM_LBUTTONUP, vbNull, cp)
'MsgBox CStr(MsgRs)
End Sub
-
tyomitch
-
- Пользователь #1352

-

-
- Сообщения: 12822
- Зарегистрирован: 20.10.2002 (Вс) 17:02
- Откуда: חיפה
tyomitch » 16.01.2005 (Вс) 2:57
vbNull, ха-ха-ха...
Попробуй:
- Код: Выделить всё
Dim cp As POINTAPI, MsgRs As Long
GetCursorPos cp
myhwnd = WindowFromPoint(cp.x, cp.y)
MsgRs = PostMessage(myhwnd, WM_LBUTTONDOWN, ByVal 0&, ByVal cp.x + 65536 * cp.y)
MsgRs = PostMessage(myhwnd, WM_LBUTTONUP, ByVal 0&, ByVal cp.x + 65536 * cp.y)
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Yandex-бот и гости: 2