Author Topic: Привязка окон не коректна  (Read 2506 times)

0 Members and 1 Guest are viewing this topic.

Дядя_Витя

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Привязка окон не коректна
« on: October 21, 2018, 04:11:39 PM »
Стали некоректно работать скрипты с привязкой не пойму в чом дело. В режиме лупы можно наблюдать такое явление. Изображение сменяется черным экраном с переодичностью в пол секунды. Без привязки все ок. Может кто подскажет чего. Может кто решал проблему

Дядя_Витя

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Привязка окон не коректна
« Reply #1 on: October 21, 2018, 05:12:07 PM »
Можно подробнее Кирил?
Code: (clickermann) [Select]
sub(kmove,$key,$pause,$cicle)
for($m=0,$m<$cicle)
keypress($key)
waitms($pause)

end_cyc
end_sub

//======================
SUB(clicks, $par1,$par2,$par3)
   lclick($par1,$par2)
   waitms($par3)
END_SUB

//======================
SUB(keys, $par11,$par12)
   keypress($par11)
   waitms($par12)
END_SUB
//=======================

keys(#4,300)
Search:
GETSCREEN
IF_PICTURE_IN (334,182,455,314, "mobb.bmp")
clicks($_return1,$_return2,1000)
keys(#5,1000)
keys(#1,2000)
keys(#2,45000)
else
goto(Search)
end_if
//
GETSCREEN
IF_PICTURE_IN (114,112,412,336, "foot.bmp")
clicks($_return1,$_return2,1000)
end_if
keys(#right,200)
//
GETSCREEN
IF_PICTURE_IN (284,195,349,281, "hand.bmp")
keys(#enter,2000)
keys(#enter,500)
else
end_if
Раньше код работал изумительно

Дядя_Витя

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Привязка окон не коректна
« Reply #2 on: October 21, 2018, 05:42:05 PM »
Спасибо. Попробую. Но я так и не понял в чом подвох. Я вижу снимок только области и паузы перед переходом по метке. Обьясните кирил технический момент. Зарание спасибо

Дядя_Витя

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Привязка окон не коректна
« Reply #3 on: October 21, 2018, 05:56:37 PM »
Нет дело не в коде. Я как понял кликер видет чeрный экран при привязке. Выкладываю скрины до привязки и после
« Last Edit: October 21, 2018, 06:05:20 PM by Дядя_Витя »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Привязка окон не коректна
« Reply #4 on: October 21, 2018, 06:09:51 PM »
В окне лупы сейчас видно НЕ привязанное окно, а область 'вне'. Видишь, координаты красным светятся предупреждая что мы вне окна?
Или привязываешься не к тому или структура приложения изменилась.


Дядя_Витя

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Привязка окон не коректна
« Reply #5 on: October 21, 2018, 06:18:07 PM »
В окне лупы сейчас видно НЕ привязанное окно, а область 'вне'. Видишь, координаты красным светятся предупреждая что мы вне окна?
Или привязываешься не к тому или структура приложения изменилась.
Курсор в тот момент был в окне приложения. Привязка была коректная. Видимо проблема с операционкой но я не пойму откуда ноги ростут. Проблему решил так. После привязки окон переключил в 16битный режим и обратно в 32х битны. Все стало работать стабильно. Что тут скажеш. Чудеса. Всем спасибо

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Привязка окон не коректна
« Reply #6 on: October 21, 2018, 08:47:14 PM »
Подозреваю, что причина в стиле рабочего стола. При смене на 16бит, стиль сменяется на упрощенный, без всяких там эффектов. Зависит от версии ОС.

h31p

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Привязка окон не коректна
« Reply #7 on: October 25, 2018, 02:12:39 AM »
там на самом деле изображение привязанного окна "ездит" вправо-вниз и назад, я уже писал на эту тему.

у меня такая же фигня, проявляется конкретно при привязке к flash. смахивает на то, что проблема не в CM, а в связке его с конкретным окружением (дрова видео, флэш, темы, ..).
поскольку окружение в моём случае менять не получится - выкрутился такого плана функцией:

Code: [Select]
sub(safegs,$sgs_cm)
 $t_sgs=0
 for($t_sgsi=0,(($t_sgsi<9)&($t_sgs=0)))
  waitms(100)
  getscreen
  $t_sgs=pxlxor(0,9,0,9)
 end_cyc
 colormode($sgs_cm)
end_sub

и юзаю её вместо getscreen+colormode. эти "прыжки" длятся доли секунды, эксцессов при использовании таким способом больше не было пока (но тут надо учитывать - у меня во флэше чёрный (точнее, монотонный) квадрат в левом верхнем углу "штатно" невозможен; если у вас не так - надо искать другую область сверху или слева, или другой способ).
как бонус - код затем компактнее выходит, одна строка вместо двух, чтоб получить экран в нужном цветовом режиме.