Обсуждение программ nnCron и nnCron LITE
by 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 - груда металла!
-

ascerdfg1
-
- Posts: 541
- Joined: Thu, 29 Nov 2007, 02:45
- Location: г. Алексин
-
by Wyz » Thu, 21 Jan 2010, 20:34
Тоже все ok.
-
Wyz
-
- Posts: 389
- Joined: Tue, 11 Dec 2007, 01:42
by AlikasS » Fri, 22 Jan 2010, 16:22
а в чем смысл диагностики? лучше сделать задачу для крона типа: установить координаты мыши с помощью плагина, считать координаты кроном -> сравнить IF (ок/ не ок) P.S. диагностика мож она просто текст в консоль печатает  потому как мышь у меня уезжает в конце диагностики на координаты х >1900 y > 1050 (почти всегда разные)
-

AlikasS
-
- Posts: 1439
- Joined: Wed, 28 Jun 2006, 05:39
- Location: Khabarovsk
-
by VoidVolker » Fri, 22 Jan 2010, 17:22
AlikasS wrote:а в чем смысл диагностики?лучше сделать задачу для крона типа:установить координаты мыши с помощью плагина, считать координаты кроном -> сравнить IF (ок/ не ок)
Именно так там и делается. Так какой результат-то?
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by 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 - груда металла!
-

ascerdfg1
-
- Posts: 541
- Joined: Thu, 29 Nov 2007, 02:45
- Location: г. Алексин
-
by AlikasS » Fri, 22 Jan 2010, 17:30
AlikasS wrote:.... потому как мышь у меня уезжает в конце диагностики на координаты х >1900 y > 1050 (почти всегда разные)
завтра по серъезней займусь диагностикой, а то сегодня пятниццо...
-

AlikasS
-
- Posts: 1439
- Joined: Wed, 28 Jun 2006, 05:39
- Location: Khabarovsk
-
by VoidVolker » Fri, 22 Jan 2010, 17:44
ascerdfg1 wrote:Если устанавливается значение MOUSEEVENTF_ABSOLUTE, dx и dy содержат нормализованные абсолютные координаты между 0 и 65 535. Процедура события преобразует эти координаты для поверхности экрана. Координата (0,0) проецируется на левый верхний угол поверхности экрана, (65535,65535) проецируется на правый нижний угол.
Ну а где в коде преобразование?
Ну так я же уже говорил: нет там никакого преобразования - перемещение курсора производится относительно его текущего положения. Зачем? Это проще и быстрее, чем производить всякие преобразования. ascerdfg1 wrote:Обсуждаемый плагин, рассуждая логически, не должен работать правильно.
Как раз с точки зрения логики он обязан работать корректно - все сделано в точности так, как это описано на сайте Майкрософта. Если он у одних работает корректно, а у других нет - значит результат работы апи отличается. Возможно другая версия какой-то библиотеки или ОС.
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by 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) проецируется на правый нижний угол.
-

AlikasS
-
- Posts: 1439
- Joined: Wed, 28 Jun 2006, 05:39
- Location: Khabarovsk
-
by 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 - груда металла!
-

ascerdfg1
-
- Posts: 541
- Joined: Thu, 29 Nov 2007, 02:45
- Location: г. Алексин
-
by 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.
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by 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 - груда металла!
-

ascerdfg1
-
- Posts: 541
- Joined: Thu, 29 Nov 2007, 02:45
- Location: г. Алексин
-
by 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 - груда металла!
-

ascerdfg1
-
- Posts: 541
- Joined: Thu, 29 Nov 2007, 02:45
- Location: г. Алексин
-
by VoidVolker » Fri, 22 Jan 2010, 20:15
Как это нет конкретики? Ясно же написано - "флаг свидетельствует о том, что производится перемещение курсора, при этом координаты относительные и измеряются в пикселях". Что тут непонятного? Ну вот, теперь осталось разобраться с причиной некорректного относительного перемещения курсора.
-

VoidVolker
- Site Admin
-
- Posts: 2907
- Joined: Tue, 25 Apr 2006, 17:56
by 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 - груда металла!
-

ascerdfg1
-
- Posts: 541
- Joined: Thu, 29 Nov 2007, 02:45
- Location: г. Алексин
-
Return to nnCron forum (Russian)
Who is online
Users browsing this forum: No registered users and 1 guest
|
|