Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Управление мышкой 
:(
    Опции темы
rooot
  Дата 17.4.2006, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



#include <windows.h>
#include <iostream.h>

main()
{

int arrx[37] = {0,406,405,406,428,430,429,452,453,454,476,477,479
,504,505,505,528,528,529,552,552,552,577,577,577,6
04,605,603,628,628,627,651,652,652,676,675,675};
int arry[37] = {0,413,391,372,412,392,372,414,392,373,412,391,373
,414,393,371,415,393,373,414,393,373,414,393,372,4
14,393,372,413,393,374,415,393,373,414,394,372};

int num = 0;
cout << "Input number 1-36:\n";
cin >> num;

int i=0;
while (i<num-1) {
i++;

SetCursorPos(470,550);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Sleep(500);
SetCursorPos(arrx[i],arry[i]);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Sleep(500);

}

while (num<36) {
num++;

SetCursorPos(470,550);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Sleep(500);
SetCursorPos(arrx[num],arry[num]);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Sleep(500);

}

return 0;

}

почему то не перетаскиваются объкты ((((( Помогите... плиз.
Хотя на рабочем столе файлы перемещяет ((((
во флеш игре не хочет, поднимает фигуру перемещяет на нужную клетку и когда отпускает фигура не оказывается в нужном поле. Руками получается, может какие ограничения во флешках стоят? Подскажите плиз.
Сильно не пинать первый раз на С++ пишу, кодирую на ПХП ) 
PM MAIL   Вверх
DigitalDummy
  Дата 17.4.2006, 03:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 7.4.2006
Где: В подвале шоколад ной фабрики.

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



Первое, что приходит в голову...
Во flash-игре, возможно, более сложный учёт поступающих сообщений от мыши, чем на рабочем столе.

Во-первых, попробуйте при вызове (mouse_event) явно указывать абсолютные координаты событий мыши.
Код

  ...
  // mouseX, mouseX - нужные вам координаты
  mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE, mouseX, mouseX, 0, 0);
  ...


Возможно, что flash просто не срабатывает сразу... Я бы, попробовал поторить события.
Например, что, если принудительно повторять событие перемещения мыши по текущим координатам после вызова SetCursorPos? Возможно, даже, несколько раз и со смещёнными в один пиксель координатами...
Код

  mouse_event(MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE, mouseX, mouseX, 0, 0);


Попробуйте разные интервалы Sleep(...). Чуть больше, чуть меньше...

И проверьте обязательно, активность не просто окна flash-игры, а активность той части окна, в которой выводится сама игра! Из-за этого тоже могут быть неточности... 
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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