powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сымитировать клик левой кнопкой мыши (API?)
25 сообщений из 79, страница 1 из 4
Как сымитировать клик левой кнопкой мыши (API?)
    #33849983
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VB6: У меня есть координаты X и Y. Хочу сделать так, чтобы контрол (MSFlexGrid в данном случае) решил, что юзер кликнул в это место левой кнопкой мыши.

Насколько я понимаю, стандартными средствами VB этого сделать нельзя - нужно как-то из VB послать сообщение через API - но я не силен в API, подскажите, плиз.
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #33850034
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
'Before you start this program, I suggest you save everything that wasn't saved yet.
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Private Sub Form_Activate()
    Do
        'Simulate a mouseclick on the cursor's position
        mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP,  0 &,  0 &, cButt, dwEI
        DoEvents
    Loop
End Sub

...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #33850162
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает. Огромное спасибо.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как сымитировать клик левой кнопкой мыши (API?)
    #37784537
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите пжл, а как будет двойной клик мышью по полю в Ворде?
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37784635
down up down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
down
up
down
три подряд
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37784639
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
down up down, а зачем аж три, двух не достаточно?
можно весь код привести?
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37784688
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаdown up down, а зачем аж три, двух не достаточно?
можно весь код привести?Сказано - три - значит, три, три и три...
Попробовать (не тереть!) запустить код - тяжело? Затем - немного разобраться, с помощью дебаггера, почему именно так требуется...
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37784736
down up down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну а сколько?
нажали
отпустили
нажали
отпустили
если это делать достаточно быстро получится двойной клик
на самом деле хватает первых трех последий не нужен для дабл клика
но вот потом может все равно понадобится четвертый up для правильного состояния мыши
не помню
надо проверить хватит трех или четвертый тоже нужен
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37784951
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
down up down, проверить - не тяжело, ч пробую в лоб, так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Option Explicit

Private Declare Sub mouse_event Lib "user32" ( _
                                ByVal dwFlags As Long, _
                                ByVal dx As Long, _
                                ByVal dy As Long, _
                                ByVal cButtons As Long, _
                                ByVal dwExtraInfo As Long)
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
'

Sub SelectFormFields()

'предполагается, что поле FormFields в Word уже выделено
    mouse_event MOUSEEVENTF_LEFTDOWN, 0&, 0&, 0&, 0&
    mouse_event MOUSEEVENTF_LEFTUP, 0&, 0&, 0&, 0&
    'mouse_event MOUSEEVENTF_LEFTUP, 0&, 0&, cButtons, dwExtraInfo
    mouse_event MOUSEEVENTF_LEFTDOWN, 0&, 0&, 0&, 0&
    mouse_event MOUSEEVENTF_LEFTUP, 0&, 0&, 0&, 0&
    mouse_event MOUSEEVENTF_LEFTDOWN, 0&, 0&, 0&, 0&
    mouse_event MOUSEEVENTF_LEFTUP, 0&, 0&, 0&, 0&

End Sub



ролучаю отлуп, как нужно, подскажите пжл
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37784970
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а с чего ты решил, что оно не работает?
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37784976
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
не созерцаю картинку (она в файле)
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785034
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, если мышью тыкать в левый верхний угол экрана появляется такая картинка?
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785056
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProА что, если мышью тыкать в левый верхний угол экрана появляется такая картинка?хотя нет, сорри, я наврал, по умолчанию как раз координаты относительные...
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785061
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня работает.
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785065
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProУ меня работает.везёт же людям, то есть поле выделили и запустили макрос и работает? - верится с трудом!
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785078
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаShocker.ProУ меня работает.везёт же людям, то есть поле выделили и запустили макрос и работает? - верится с трудом!да, именно так
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785079
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proкатастрофапропущено...
везёт же людям, то есть поле выделили и запустили макрос и работает? - верится с трудом!да, именно таксобственно поле и выделять-то необязательно, двойной клик он и так его выделит
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785096
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProShocker.Proпропущено...
да, именно таксобственно поле и выделять-то необязательно, двойной клик он и так его выделитда и тройной клик там не нужен, двойного достаточно
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785188
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, так делаю, чтобы по одному клику, чтобы открывало, то есть один клик-поле выделяется его величеством Ворд'ом, а далее вступает человек говорит, что после события - выделения поля тынцнуть ещё раз, ОК?
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785191
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просмотрел 12519511 , ОК проверяю
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785207
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробовал, не пашет, вот ересь! ну не знаю уже что делать, нету кина как Вы этого добились?
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785367
down up down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прежде чем жать кнопки надо мышь в нужную точку экрана поместить
SetCursor ?, ?
если координаты мыши и точки клика не совпадают работать не будет

это проверено на SendInput (а она скорее всего вызывается внутри mouse_event)

вообще тут полно примеров темы которых BelowZero создал про имитацию нажатий
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785368
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
down up down,
>прежде чем жать кнопки надо мышь в нужную точку экрана поместить
так когда на поле один раз кликнул, оно и выделилось
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785373
down up down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SetCursor
mouse down
mouse up
mouse down
mouse up
...
Рейтинг: 0 / 0
Как сымитировать клик левой кнопкой мыши (API?)
    #37785380
down up down
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот здесь есть готовый пример как используя
SendInput нажать кнопку клавы или кнопку мыши
http://www.sql.ru/forum/actualthread.aspx?tid=904988&pg=1&mid=11800044#11800044
правда в примерах одинарный клик
...
Рейтинг: 0 / 0
25 сообщений из 79, страница 1 из 4
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сымитировать клик левой кнопкой мыши (API?)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]