Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2010, 20:15   #11
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

у меня работает:
Код:
procedure ClickOnControl(HWND:THandle;xPos,yPos:word);
begin
 PostMessage(HWND,WM_LBUTTONDOWN,0,(yPos shl 16)+xPos);
 PostMessage(HWND,WM_LBUTTONUP,0,(yPos shl 16)+xPos);
end;

...

procedure ClickOnControl(handle,1000,100);
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 15.02.2010, 20:22   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
 SendMessage(Application.Handle,WM_LBUTTONDOWN,0,(100 shl 16)+100);
end;
вы хоть смотрите кому сообщение то отправили?
Form1.Handle это форма.
если над отправить браузеру то WebBrowser.Handle и координаты относительно него.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.02.2010, 20:52   #13
Anfall
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 181
По умолчанию

Спс. Работает. Но почему-то только после второго нажатия. Странно.
Anfall вне форума Ответить с цитированием
Старый 19.02.2010, 19:09   #14
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Цитата:
Сообщение от Anfall Посмотреть сообщение
Спс. Работает. Но почему-то только после второго нажатия. Странно.
Код:
WM_LBUTTONDOWN
- смотри перевод.

Работает после 2рого нажатия потому что
Код:
WM_LBUTTONUP
не отослано , и событие Click происходит автопатически после 2рого WM_LBUTTONDOWN.

Получается Вы 2 раза нажали левую кнопку мыши при этом ниразу не отпуская
Lime вне форума Ответить с цитированием
Старый 03.10.2010, 03:42   #15
PHP&DELPHI_User
 
Регистрация: 03.10.2010
Сообщений: 9
По умолчанию Вроде бы все правильно, но почему не работает

Код:
procedure ClickMouse(); // щелчок мышкой в области X и Y
var
  pPoint: TPoint;
  hPoint: HWnd;
  X,Y: Integer;
begin
  pPoint.X := (Form1.WebBrowser1.Left+250);
  pPoint.Y := (Form1.WebBrowser1.Top+503);
  hPoint := Form1.WebBrowser1.Handle;
  X := pPoint.X;
  Y := pPoint.Y;
  SetCursorPos(X, Y);
  PostMessage(hPoint, WM_LBUTTONDOWN,0, (X shl 16)+ Y );
  PostMessage(hPoint, WM_LBUTTONUP,0, (X shl 16)+ Y );
 
end;
Не хочет мышка нажиматься ( Где меня пронесло? подскажите...

Последний раз редактировалось Stilet; 03.10.2010 в 10:43.
PHP&DELPHI_User вне форума Ответить с цитированием
Старый 03.10.2010, 04:41   #16
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

потому что клик у тебя происходит левее и выше)
так как у тебя передаются координаты на форме- а надо экранные)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 03.10.2010, 05:24   #17
PHP&DELPHI_User
 
Регистрация: 03.10.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
потому что клик у тебя происходит левее и выше)
так как у тебя передаются координаты на форме- а надо экранные)
Да пробовал и экранные и через форму, тут умные люди писали что координаты следует расчитывать по тому окну где кликнуть надо , вот я на этом пока и остановился. Блин 2 дня сижу и лбом ап стенку бьюсь (
PHP&DELPHI_User вне форума Ответить с цитированием
Старый 03.10.2010, 05:33   #18
PHP&DELPHI_User
 
Регистрация: 03.10.2010
Сообщений: 9
По умолчанию

А как мне установить координаты курсора мыши относительно WebBrowser'а?
PHP&DELPHI_User вне форума Ответить с цитированием
Старый 03.10.2010, 05:43   #19
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

как минимум прибавить Form1.left и Form1.top
а вообще вот
Код:
//переводим координаты  из оконных в экранные
  P := Parent.ClientToScreen(Point(Left, Top));
  x := Min(Max(P.X, 0),Screen.Width);
  y := P.Y + Height;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 03.10.2010 в 05:46.
Mad_Cat вне форума Ответить с цитированием
Старый 03.10.2010, 06:00   #20
PHP&DELPHI_User
 
Регистрация: 03.10.2010
Сообщений: 9
По умолчанию

Совсем ничего непонял, еще больше запутался
код непонятен для меня - новичка.
Как мне его под свой код приспособить?

какой тип у "Parent" ?
PHP&DELPHI_User вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имитация клика мыши, не работает по Vista Аферук Общие вопросы Delphi 9 21.04.2009 15:45
Имитация клика мыши tipzozborova JavaScript, Ajax 1 04.03.2009 07:27
Имитация клика по точке в заданной координате vl.artes JavaScript, Ajax 21 28.02.2009 09:12
Эмуляция клика мыши Stimer Win Api 1 05.02.2009 04:06
Имитация клика мышки на экране CRASH009 Общие вопросы Delphi 6 18.08.2008 21:38