Вниз
Скачать: CL | DM;

SendInput   Найти похожие ветки 

 
Diamond Cat ©   (2003-03-14 14:08) [0]

d:tINPUT;
g:tagmouseinput;
begin
g.dx:=200;
g.dy:=200;
g.mouseData:=0;
g.dwFlags:=MOUSEEVENTF_LEFTDOWN ;
g.time:=0;
d.mi:=g;
d.Itype:=INPUT_MOUSE;
SendInput(1,d,sizeof(d));
g.dx:=200;
g.dy:=200;
g.mouseData:=0;
g.dwFlags:=MOUSEEVENTF_LEFTup ;
g.time:=0;
d.mi:=g;
d.Itype:=INPUT_MOUSE;
SendInput(1,d,sizeof(d));
почему не происходит клик по координатам 200,200


 
Игорь Шевченко ©   (2003-03-14 14:23) [1]

Потому что мышка туда не подвинута. Иначе у системы ум за разум зайдет - мышка в одном месте, а клик в другом.
В твоем случае, может быть, проще использовать
PostMessage(hWnd, WM_LBUTTONDOWN, кнопки/клавиши, требуемые_координаты) и PostMessage(hWnd, WM_LBUTTONUP, ...)


 
Diamond Cat ©   (2003-03-14 14:28) [2]

2 Игорь Шевченко: да ну вас, это не интересно и прозрачно
хочется именно sendinput темболее что сказано что действия происходят по координатам указанным в tagmouseinput, ан нет не происходят, а гонять туда курсор (setcursorpos) тоже не интересно


 
Игорь Шевченко ©   (2003-03-14 14:32) [3]

Diamond Cat © (14.03.03 14:28)

А зачем SetCursorPos ?

Тот же SendInput

MOUSEEVENTF_ABSOLUTE
Specifies that the dx and dy members contain normalized absolute coordinates. If the flag is not set, dxand dy contain relative data (the change in position since the last reported position). This flag can be set, or not set, regardless of what kind of mouse or other pointing device, if any, is connected to the system. For further information about relative mouse motion, see the following Remarks section.
MOUSEEVENTF_MOVE
Specifies that movement occurred.


 
Diamond Cat ©   (2003-03-14 14:39) [4]

т.е.
для начала надо
g.dwFlags:=MOUSEEVENTF_ABSOLUTE ;
.......
и потом уже приведенный код
пробовал нифига результат тотже


 
Игорь Шевченко ©   (2003-03-14 14:52) [5]

Да нет. Сначала надо мышку подвинуть в нужную точку с MOUSEEVENTF_ABSOLUTE, а потом click сказать. Кстати, SendInput позволяет за один раз передавать несколько структур MOUSEINPUT


 
Diamond Cat ©   (2003-03-14 15:20) [6]


> SendInput позволяет за один раз передавать несколько структур
> MOUSEINPUT

этого момента я кстати тоже не понял, при попытке создать массив
из маусинпутов, и передать указатель на него мне отвечают типа не правильный параметр



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-46722
Сергеич
2003-05-04 19:55
2003.05.15
ХЕЛП! Открытие файлов.


1-46741
Mir
2003-05-05 05:38
2003.05.15
Отображение в тестовом окне отформатированного текста


14-47008
Style
2003-04-28 08:04
2003.05.15
DelphiChallenge: Первый блин комом :(


3-46575
Jaxtor
2003-04-25 12:57
2003.05.15
Передача значения NULL в хранимую процедуру


1-46838
Intell
2003-04-19 10:48
2003.05.15
Как в TMenu отобразить список файлов какталога?




   Наверх