Russian Qt Forum

Программирование => Общий => Тема начата: hackoff от Июнь 05, 2010, 11:08



Название: Эмуляция даблклика
Отправлено: hackoff от Июнь 05, 2010, 11:08
Нужно эмулировать даблклик в произвольном месте экрана.
Пытаюсь делать так:
Код:
    LPARAM l = MAKELONG(pos.x(),pos.y());
    PostMessage(HWND_BROADCAST,0, WM_LBUTTONDBLCLK,l);
где pos QPoint.

 function PostMessage(Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Bool, возвращает 1, но эффекта нет.
Может я не правильно l определяю?
Где зарыта проблема?


Название: Re: Эмуляция даблклика
Отправлено: zenden от Июнь 05, 2010, 11:35
Отсылать сообщение нужно так:
PostMessage(HWND_BROADCAST, WM_LBUTTONDBLCLK,0, l);

хотя наверно лучше использовать SendMessage


Название: Re: Эмуляция даблклика
Отправлено: hackoff от Июнь 05, 2010, 12:26
эффект появился, но всеравно даблклик в нужном месте не вызывается....
экспериментирую :)


Название: Re: Эмуляция даблклика
Отправлено: lit-uriy от Июнь 05, 2010, 12:51
>>в нужном месте не вызывается
может ты координату не глобальную задаёшь?


Название: Re: Эмуляция даблклика
Отправлено: hackoff от Июнь 05, 2010, 13:01
qDebug()<<event->pos();
Код:
4747  QHostAddress( "127.0.0.1" )  
QPoint(141,184)
QPoint(439,334)
QPoint(1455,828)
QPoint(1536,1037)
QPoint(517,1017)
QPoint(523,1038)
QPoint(37,1033)
QPoint(233,783)
QPoint(360,686)
Глобальные.