Как работать с мышью?

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

Как работать с мышью?

Сообщение Nikolka » 14.05.2004 (Пт) 13:50

Здрасте!

Подскажите как можно симитировать нажатие кнопки мыши? Понятно, что курсор перемещается через АПИ SetCursorPos, а вот как программно мышкой нажать...???

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 14.05.2004 (Пт) 13:56

Для этой цели винда смотрит, какое окно находится под курсором, и посылает ему сообщение типа WM_LBUTTON_DOWN, например. Тебе нужно сделать то же самое. hWnd окна под курсором определяешь через GetWindowFromPoint(), а посылку сообщения - SendMessage(). Если не собираешься ждать результатов процессинга сообщения, то используй PostMessage(). Принцип тот же, но управление к тебе вернется, не дожидаясь, когда подопытное окно обработает то, что ты ему послал.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.05.2004 (Пт) 14:01

Зачем так сложно? Есть API mouse_event(). Или SendInput, которая и перемещает и кликает.
Lasciate ogni speranza, voi ch'entrate.

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 14.05.2004 (Пт) 15:45

:arrow: <DELETE> :arrow: :twisted: 8)
Последний раз редактировалось EvilCoder 18.03.2006 (Сб) 18:31, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

mefestofele
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 145
Зарегистрирован: 17.04.2004 (Сб) 22:46
Откуда: Россия Тольятти

Сообщение mefestofele » 14.05.2004 (Пт) 20:38

Здрасте!

:twisted: Это избитый вопрос

_________________
:twisted:Да поможет тебе F1, Да сохранит тебя F2. Во имяя ALT'a, SHIFT'a и свяятого DEL'a, ESC.

Tamahawk
Обычный пользователь
Обычный пользователь
 
Сообщения: 78
Зарегистрирован: 03.02.2004 (Вт) 22:11

Сообщение Tamahawk » 14.05.2004 (Пт) 23:19

без коментариев
помотри тут
http://bbs.vbstreets.ru/viewtopic.php?t=5547&highlight=
тока тут при разрещени 1024х768 экрана

Nikolka
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 174
Зарегистрирован: 01.01.2004 (Чт) 2:06

Сообщение Nikolka » 15.05.2004 (Сб) 14:12

Спасиба! Эта понятна.

Но вот как отловить нажатия кнопки мыши в системе (т.е. не на форме), в любой точке экрана???

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

Сообщение mark+ » 16.05.2004 (Вс) 9:57

mouse_event работает в любой точке экрана :!:

Nikolka
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 174
Зарегистрирован: 01.01.2004 (Чт) 2:06

Сообщение Nikolka » 16.05.2004 (Вс) 16:12

А какая константа для определения мышь нажата/нет?


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

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

Сейчас этот форум просматривают: The trick и гости: 5

    TopList