Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Управление мышью 
V
    Опции темы
magus
Дата 22.9.2007, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 15.4.2007

Репутация: нет
Всего: нет



Уже было что-то подобное, но там много лишнего, а нужного мне нет. VB знаю не очень хорошо, так что не пинайте сильно...
Необходимо полная иммитация работы с мышью. Как перемещать курсор я уже нашел, как обрабатывать информацию с экранатоже. Теперь ищу имитацию нажатия кнопок. +к этому хотелось бы организовать сочетание shift+rigtclick, ctrl+rightclick.
Заранее благодарен.
PM MAIL   Вверх
magus
Дата 23.9.2007, 07:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 15.4.2007

Репутация: нет
Всего: нет



С эмуляцией клика я тоже разобрался, осталось только сделать зажатие шифта.
Может это реально сделать при помощи SendKeys? Я так и не разобрался, что означает аргумент Wait.
PM MAIL   Вверх
magus
Дата 23.9.2007, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 15.4.2007

Репутация: нет
Всего: нет



Все. Нашел и это. Кому интересно, могу выложить код.
PM MAIL   Вверх
magus
Дата 23.9.2007, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 15.4.2007

Репутация: нет
Всего: нет



Не думаю, что данные коды имеют хоть какую-то ценность, так как большую их чать я нашел на этом же форуме... Но раз просят:

1) Установка курсора в оперделенное место экрана:

Код

  Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
  ' подгружаем функцию SetCursorPos из user32.dll, чтобы использовать ее в дальнейшем

  Private Sub Form_Load()
  Call SetCursorPos(x, y) ' x, y - координаты на экране, куда будет перемещен курсор
  End Sub


2) Эмулирование нажатия кнопок мыши:

Код

  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 MOU_LD = &H2     'нажатие левой кнопки
   Const MOU_LU = &H4     'отпускание левой кнопки
   Const MOU_MD = &H20  'нажатие средней кнопки
   Const MOU_MU = &H40  'отпускание средней кнопки
   Const MOU_RD = &H8     'нажатие правой кноки
   Const MOU_RU = &H10   'отпускание правой кнопки
 
 Private Sub Form_Load()
  mouse_event MOU_RD, x, y, 0&, 0&
  mouse_event MOU_RU, x, y, 0&, 0&
  ' имитация клика правой кнопкой. для того, чтобы сделать клик другой кнопкой, меняем константы на необходимы.  x и y по идее место, где будет произведен клик, но у меня не работает, вместо них приходится использовать SetCursorPos перед функцией
 End Sub


3) Зажатие Shift/ctrl:

Код

  ' Подгружаем необходимую функцию:
  Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
  ' Устанавливаем константы:
  Private Const VK_LCONTROL = &HA2
  Private Const VK_SHIFT As Long = &H10

  Private Sub Form_Load()
  keybd_event VK_SHIFT, 0, 0, 0   ' зажимаем кнопку (шифт в данном случае)
  .....
  keybd_event VK_SHIFT, 0, KEYEVENTF_KEYUP, 0  ' отпускаем
  End Sub


Вот и все. Возможно есть ошибки, писал второпях, тч вносите свои исправления в случае чего.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.