Плагин SendInput.spf [обсуждение]

Обсуждение программ nnCron и nnCron LITE

Re: Плагин SendInput.spf [обсуждение]

Postby VoidVolker » Thu, 21 Jan 2010, 20:00

Так, сделал программку самодиагностики перемещения курсора - качаем и тестируем. Проверил на пяти различных конфигурациях, в том числе и на вин7 - везде работает корректно. Скриншот.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин SendInput.spf [обсуждение]

Postby ascerdfg1 » Thu, 21 Jan 2010, 20:33

это FileControl 2.0 чтоли качать?
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Плагин SendInput.spf [обсуждение]

Postby Wyz » Thu, 21 Jan 2010, 20:34

Тоже все ok.
Wyz
 
Posts: 389
Joined: Tue, 11 Dec 2007, 01:42

Re: Плагин SendInput.spf [обсуждение]

Postby AlikasS » Fri, 22 Jan 2010, 16:22

VoidVolker wrote:Так, сделал программку самодиагностики перемещения курсора - качаем и тестируем. Проверил на пяти различных конфигурациях, в том числе и на вин7 - везде работает корректно. Скриншот.

а в чем смысл диагностики?
лучше сделать задачу для крона типа:
установить координаты мыши с помощью плагина, считать координаты кроном -> сравнить IF (ок/ не ок)
P.S. диагностика мож она просто текст в консоль печатает :-)
потому как мышь у меня уезжает в конце диагностики на координаты х >1900 y > 1050 (почти всегда разные)
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Плагин SendInput.spf [обсуждение]

Postby VoidVolker » Fri, 22 Jan 2010, 17:22

AlikasS wrote:а в чем смысл диагностики?лучше сделать задачу для крона типа:установить координаты мыши с помощью плагина, считать координаты кроном -> сравнить IF (ок/ не ок)

Именно так там и делается. Так какой результат-то?
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин SendInput.spf [обсуждение]

Postby ascerdfg1 » Fri, 22 Jan 2010, 17:28

Если устанавливается значение MOUSEEVENTF_ABSOLUTE, dx и dy содержат нормализованные абсолютные координаты между 0 и 65 535. Процедура события преобразует эти координаты для поверхности экрана. Координата (0,0) проецируется на левый верхний угол поверхности экрана, (65535,65535) проецируется на правый нижний угол.

Ну а где в коде преобразование? Обсуждаемый плагин, рассуждая логически, не должен работать правильно.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Плагин SendInput.spf [обсуждение]

Postby AlikasS » Fri, 22 Jan 2010, 17:30

AlikasS wrote:....
потому как мышь у меня уезжает в конце диагностики на координаты х >1900 y > 1050 (почти всегда разные)

завтра по серъезней займусь диагностикой, а то сегодня пятниццо...
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Плагин SendInput.spf [обсуждение]

Postby VoidVolker » Fri, 22 Jan 2010, 17:44

ascerdfg1 wrote:
Если устанавливается значение MOUSEEVENTF_ABSOLUTE, dx и dy содержат нормализованные абсолютные координаты между 0 и 65 535. Процедура события преобразует эти координаты для поверхности экрана. Координата (0,0) проецируется на левый верхний угол поверхности экрана, (65535,65535) проецируется на правый нижний угол.

Ну а где в коде преобразование?

Ну так я же уже говорил: нет там никакого преобразования - перемещение курсора производится относительно его текущего положения. Зачем? Это проще и быстрее, чем производить всякие преобразования.
ascerdfg1 wrote:Обсуждаемый плагин, рассуждая логически, не должен работать правильно.

Как раз с точки зрения логики он обязан работать корректно - все сделано в точности так, как это описано на сайте Майкрософта. Если он у одних работает корректно, а у других нет - значит результат работы апи отличается. Возможно другая версия какой-то библиотеки или ОС.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин SendInput.spf [обсуждение]

Postby AlikasS » Fri, 22 Jan 2010, 17:49

судя по winapi нужно какое-то маштабирование
{Преобразуем Pt к "mickeys" (аболютным координатам курсора мышки}
Pt.x := Round(Pt.x * (65535 / Screen.Width));
Pt.y := Round(Pt.y * (65535 / Screen.Height));

Если устанавливается значение MOUSEEVENTF_ABSOLUTE, dx и dy содержат нормализованные абсолютные координаты между 0 и 65 535. Процедура события преобразует эти координаты для поверхности экрана. Координата (0,0) проецируется на левый верхний угол поверхности экрана, (65535,65535) проецируется на правый нижний угол.
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Плагин SendInput.spf [обсуждение]

Postby ascerdfg1 » Fri, 22 Jan 2010, 18:47

Ну так я же уже говорил: нет там никакого преобразования - перемещение курсора производится относительно его текущего положения. Зачем? Это проще и быстрее, чем производить всякие преобразования.

Но ведь MOUSEEVENTF_MOVE присутствует. Хотя в доках нет конкретики на счёт размерности получаемой информации от курсора.
Вот здесь http://www.wasm.ru/forum/viewtopic.php?id=32645 человек тоже озадачен отсутствием конкретики в доках к SendInput на счёт MOUSEEVENTF_MOVE. Но по аналогии с описанием для MOUSEEVENTF_ABSOLUTE можно предположить что размерность та же и для MOUSEEVENTF_MOVE.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Плагин SendInput.spf [обсуждение]

Postby VoidVolker » Fri, 22 Jan 2010, 18:59

ascerdfg1 wrote:Но ведь MOUSEEVENTF_MOVE присутствует. Хотя в доках нет конкретики на счёт размерности получаемой информации от курсора.

Как это нету? А откуда же я узнал про этот флаг и смог его использовать? А?
Открываем MSDN и читаем там следующее:
MOUSEEVENTF_MOVE
Specifies that movement occurred.
...
If the mouse has moved, indicated by MOUSEEVENTF_MOVE, dx and dy specify information about that movement. The information is specified as absolute or relative integer values.

If MOUSEEVENTF_ABSOLUTE value is specified, dx and dy contain normalized absolute coordinates between 0 and 65,535. The event procedure maps these coordinates onto the display surface. Coordinate (0,0) maps onto the upper-left corner of the display surface; coordinate (65535,65535) maps onto the lower-right corner. In a multimonitor system, the coordinates map to the primary monitor.
If the MOUSEEVENTF_ABSOLUTE value is not specified, dxand dy specify movement relative to the previous mouse event (the last reported position). Positive values mean the mouse moved right (or down); negative values mean the mouse moved left (or up).

Так, добавил абсолютное перемещение курсора(слово CURSOR-MOVE):
SendInput.
Last edited by VoidVolker on Sat, 23 Jan 2010, 18:29, edited 3 times in total.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин SendInput.spf [обсуждение]

Postby ascerdfg1 » Fri, 22 Jan 2010, 19:42

я читал этот док, в нём как раз и нет конкретики
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Плагин SendInput.spf [обсуждение]

Postby ascerdfg1 » Fri, 22 Jan 2010, 19:49

ну вот! теперь работает!
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Плагин SendInput.spf [обсуждение]

Postby VoidVolker » Fri, 22 Jan 2010, 20:15

Как это нет конкретики? Ясно же написано - "флаг свидетельствует о том, что производится перемещение курсора, при этом координаты относительные и измеряются в пикселях". Что тут непонятного?
Ну вот, теперь осталось разобраться с причиной некорректного относительного перемещения курсора.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Плагин SendInput.spf [обсуждение]

Postby ascerdfg1 » Fri, 22 Jan 2010, 22:30

процитируйте плиз где написано про пиксели а мы посмеёмся.
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

PreviousNext

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests