Author Topic: эмулятор нокс не работает MOVE в POSTMESSAGE  (Read 2015 times)

0 Members and 1 Guest are viewing this topic.

ctars

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
В эмуляторе нокс  если рисовать кривой линии  методом POSTMESSAGE по какой то причине ставиться только точка и все(
Что я делал:
При помощи "запись сценария" я нарисовал кривую в приложении "рисовалка" Запись производилась с привязкой.
обычное воспроизведение с привязкой не работает в Clickermann это я знаю(по крайней мере с моим эмулятором),
Но через POSTMESSAGE должно все работать по идее.
и так я переписал записанные Clickermann-ом комманды MOVE, LUP, LDOWN на POSTMESSAGE, но к моему разочарованию
ничего не получилось. Просто ставиться точка начальная и все(
Сам скрипт работоспособный я его проверял на стандартном виндовском паунте. Тоесть изменил hwnd нокса на паунт и
кривая нарисовалась.

В чем может быть ошибка? Что я делаю не так?

Code: [Select]


 $_hwnd = HGET(932,140)   // получаем hwnd по координатам
 print($_hwnd)
//$_hwnd = 331156  // вставил вручную


 SUB(clcDW, $x, $y) //LDOWN
  POSTMESSAGE($_hwnd,0x0201,0x0001,$x+($y*65536))//clcDW
END_SUB



SUB(clcUP, $x, $y) //LUP
  POSTMESSAGE($_hwnd,0x0202,0x0000,$x+($y*65536))//LUP
END_SUB



SUB(clcMOW, $x, $y) //MOVE
POSTMESSAGE($_hwnd,0x0200,0,$x+($y*65536))//clcMOW
END_SUB


$S_CORR = 0

  clcDW(99,174)
waitms(43 + $S_CORR)
clcMOW(100,174)
waitms(8 + $S_CORR)
clcMOW(101,174)
waitms(8 + $S_CORR)
clcMOW(102,174)
waitms(6 + $S_CORR)
clcMOW(104,174)
waitms(8 + $S_CORR)
clcMOW(106,174)
waitms(9 + $S_CORR)
clcMOW(106,175)
waitms(8 + $S_CORR)
clcMOW(107,175)
waitms(15 + $S_CORR)
clcMOW(109,176)
waitms(9 + $S_CORR)
clcMOW(110,176)
waitms(5 + $S_CORR)
clcMOW(111,177)
waitms(9 + $S_CORR)
clcMOW(112,178)
waitms(7 + $S_CORR)
clcMOW(113,179)
waitms(9 + $S_CORR)
clcMOW(116,181)
waitms(8 + $S_CORR)
clcMOW(118,182)
waitms(7 + $S_CORR)
clcMOW(121,184)
waitms(9 + $S_CORR)
clcMOW(126,186)
waitms(5 + $S_CORR)
clcMOW(129,187)
waitms(8 + $S_CORR)
clcMOW(132,188)
waitms(8 + $S_CORR)
clcMOW(134,190)
waitms(8 + $S_CORR)
clcMOW(136,190)
waitms(8 + $S_CORR)
clcMOW(139,191)
waitms(9 + $S_CORR)
clcMOW(140,192)
waitms(7 + $S_CORR)
clcMOW(141,192)
waitms(9 + $S_CORR)
clcMOW(141,193)
waitms(5 + $S_CORR)
clcMOW(142,193)
waitms(8 + $S_CORR)
clcMOW(142,194)
waitms(8 + $S_CORR)
clcMOW(143,195)
waitms(8 + $S_CORR)
clcMOW(144,196)
waitms(8 + $S_CORR)
clcMOW(144,197)
waitms(8 + $S_CORR)
clcMOW(146,200)
waitms(8 + $S_CORR)
clcMOW(146,202)
waitms(6 + $S_CORR)
clcMOW(146,203)
waitms(8 + $S_CORR)
clcMOW(147,206)
waitms(8 + $S_CORR)
clcMOW(148,208)
waitms(9 + $S_CORR)
clcMOW(150,211)
waitms(7 + $S_CORR)
clcMOW(150,212)
waitms(8 + $S_CORR)
clcMOW(150,214)
waitms(8 + $S_CORR)
clcMOW(151,216)
waitms(14 + $S_CORR)
clcMOW(151,217)
waitms(8 + $S_CORR)
clcMOW(152,219)
waitms(11 + $S_CORR)
clcMOW(153,220)
waitms(5 + $S_CORR)
clcMOW(153,221)
waitms(8 + $S_CORR)
clcMOW(153,223)
waitms(8 + $S_CORR)
clcMOW(153,224)
waitms(8 + $S_CORR)
clcMOW(153,225)
waitms(6 + $S_CORR)
clcMOW(153,227)
waitms(9 + $S_CORR)
clcMOW(154,230)
waitms(7 + $S_CORR)
clcMOW(154,232)
waitms(9 + $S_CORR)
clcMOW(154,233)
waitms(7 + $S_CORR)
clcMOW(154,234)
waitms(9 + $S_CORR)
clcMOW(154,237)
waitms(7 + $S_CORR)
clcMOW(154,238)
waitms(6 + $S_CORR)
clcMOW(154,240)
waitms(8 + $S_CORR)
clcMOW(154,241)
waitms(8 + $S_CORR)
clcMOW(154,242)
waitms(10 + $S_CORR)
clcMOW(154,244)
waitms(15 + $S_CORR)
clcMOW(154,246)
waitms(7 + $S_CORR)
clcMOW(154,247)
waitms(9 + $S_CORR)
clcMOW(153,248)
waitms(5 + $S_CORR)
clcMOW(153,249)
waitms(9 + $S_CORR)
clcMOW(153,250)
waitms(7 + $S_CORR)
clcMOW(153,251)
waitms(9 + $S_CORR)
clcMOW(152,251)
waitms(7 + $S_CORR)
clcMOW(152,252)
waitms(8 + $S_CORR)
clcMOW(151,254)
waitms(9 + $S_CORR)
clcMOW(150,255)
waitms(5 + $S_CORR)
clcMOW(150,256)
waitms(8 + $S_CORR)
clcMOW(149,257)
waitms(8 + $S_CORR)
clcMOW(148,258)
waitms(16 + $S_CORR)
clcMOW(147,259)
waitms(16 + $S_CORR)
clcMOW(146,259)
waitms(7 + $S_CORR)
clcMOW(145,260)
waitms(16 + $S_CORR)
clcMOW(144,260)
waitms(7 + $S_CORR)
clcMOW(143,261)
waitms(9 + $S_CORR)
clcMOW(142,262)
waitms(7 + $S_CORR)
clcMOW(141,262)
waitms(9 + $S_CORR)
clcMOW(140,262)
waitms(4 + $S_CORR)
clcMOW(139,263)
waitms(8 + $S_CORR)
clcMOW(137,264)
waitms(18 + $S_CORR)
clcMOW(135,265)
waitms(6 + $S_CORR)
clcMOW(134,265)
waitms(8 + $S_CORR)
clcMOW(133,265)
waitms(9 + $S_CORR)
clcMOW(132,265)
waitms(7 + $S_CORR)
clcMOW(131,266)
waitms(14 + $S_CORR)
clcMOW(129,267)
waitms(9 + $S_CORR)
clcMOW(128,267)
waitms(8 + $S_CORR)
clcMOW(127,267)
waitms(8 + $S_CORR)
clcMOW(125,267)
waitms(7 + $S_CORR)
clcMOW(124,268)
waitms(9 + $S_CORR)
clcMOW(123,268)
waitms(6 + $S_CORR)
clcMOW(121,269)
waitms(7 + $S_CORR)
clcMOW(119,269)
waitms(16 + $S_CORR)
clcMOW(118,269)
waitms(9 + $S_CORR)
clcMOW(117,270)
waitms(7 + $S_CORR)
clcMOW(116,270)
waitms(17 + $S_CORR)
clcMOW(115,271)
waitms(6 + $S_CORR)
clcMOW(114,271)
waitms(16 + $S_CORR)
clcMOW(113,271)
waitms(15 + $S_CORR)
clcMOW(112,271)
waitms(23 + $S_CORR)
clcMOW(111,272)
waitms(7 + $S_CORR)
clcMOW(110,272)
waitms(16 + $S_CORR)
clcMOW(109,272)
waitms(9 + $S_CORR)
clcMOW(109,273)
waitms(7 + $S_CORR)
clcMOW(108,273)
waitms(15 + $S_CORR)
clcMOW(107,273)
waitms(9 + $S_CORR)
clcMOW(106,274)
waitms(333 + $S_CORR)
clcMOW(105,274)
waitms(0 + $S_CORR)
  clcUP(105,274)

halt


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: эмулятор нокс не работает MOVE в POSTMESSAGE
« Reply #1 on: August 04, 2017, 01:32:54 PM »
Значит не судьба. Всё зависит от приложения, как оно устроено и как обрабатывает перемещения.
Может ловить сообщения от системы, а может само следить за реальным положением курсора.

А в Андроиде ещё и управление руками, экран то мультитач. Эмулятор должен по своему переделать.


psyzum

  • Зашел в гости
  • *
  • Posts: 19
    • View Profile
Re: эмулятор нокс не работает MOVE в POSTMESSAGE
« Reply #2 on: September 22, 2017, 03:22:56 PM »
0x0001 // Левая кнопка мыши находится в нажатом состоянии.
может дело в
POSTMESSAGE($_hwnd,0x0200,0,$x+($y*65536))//clcMOW
что при движении там 0 а не зажат ;)

я не волшебник, и только учусь =) смысл вводить хвнд в ручную!?

Code: [Select]
$hwnd = HGET(60,95)
hset($hwnd, 1)
print($hwnd)
wndsize(wndfind("рисовалка"), 252, 252)
wndpos(wndfind("рисовалка"), -4, -4)

 SUB(clcDW, $x, $y) //LDOWN
  POSTMESSAGE($hwnd,0x0201,0x0001,$x+($y*65536))//clcDW
END_SUB
SUB(clcUP, $x, $y) //LUP
  POSTMESSAGE($hwnd,0x0202,0x0000,$x+($y*65536))//LUP
END_SUB
SUB(clcMOW, $x, $y) //MOVE
POSTMESSAGE($hwnd,0x0200,0x0001,$x+($y*65536))//clcMOW
END_SUB
$S_CORR = 0
//
clcDW(99,174)
waitms(43 + $S_CORR)
clcMOW(100,174)
waitms(8 + $S_CORR)
clcMOW(101,174)
waitms(8 + $S_CORR)
clcMOW(102,174)
waitms(6 + $S_CORR)
clcMOW(104,174)
waitms(0 + $S_CORR)
clcUP(105,274)
waitms(6 + $S_CORR)
и ещё как вариант,waitms(6) ну может мало,ставь $S_CORR = 500
и пробуй, может времени не хватает на обработку =ь
1:) 0x0001
2:) waitms+
ах да, помню у меня когда то postmessage не хотел по координатам нажимать если масив был в шапке а не перед postmessage

ctars

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: эмулятор нокс не работает MOVE в POSTMESSAGE
« Reply #3 on: September 26, 2017, 01:29:37 PM »
0x0001 // Левая кнопка мыши находится в нажатом состоянии.
может дело в
POSTMESSAGE($_hwnd,0x0200,0,$x+($y*65536))//clcMOW
что при движении там 0 а не зажат ;)





Все работает! Огромное спасибо!!!
А то мне каждый раз приходилось такой костыль прикручивать

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: эмулятор нокс не работает MOVE в POSTMESSAGE
« Reply #4 on: September 26, 2017, 01:57:10 PM »
Повторно?  :o Через два месяца.
http://crapware.aidf.org/forum/index.php?topic=3366.msg22913#msg22913


ctars

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: эмулятор нокс не работает MOVE в POSTMESSAGE
« Reply #5 on: September 26, 2017, 02:31:59 PM »
Повторно?  :o Через два месяца.
http://crapware.aidf.org/forum/index.php?topic=3366.msg22913#msg22913

Да нет же ) там был просто клик. Здесь же нужно было кликунть провести полосу или кривую
Разница есть)


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: эмулятор нокс не работает MOVE в POSTMESSAGE
« Reply #6 on: September 26, 2017, 03:18:45 PM »
По моему одно и тоже.
Тот же самый параметр, только не в LUP, а в MOVE