Author Topic: WM_KEYDOWN не работает  (Read 1244 times)

0 Members and 1 Guest are viewing this topic.

NULL

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
WM_KEYDOWN не работает
« on: August 25, 2017, 07:01:09 AM »
Привет. странная ситуация: 2 окна браузера. мышка повторяет движения без проблем, а клавиша нажимается только если нажать самостоятельно на 1 форму.
Code: (clickermann) [Select]
$h1 = hget(477,15) // браузер 1
$h2 = hget(483,530) // браузер 2
$x =  $_xmouse
$y =  $_ymouse + 291 - 836
sendmessage($h1,512,0,$y*65536+$x)
postmessage($h1,256,68,0)
wait(1)
В чем может быть причина?


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: WM_KEYDOWN не работает
« Reply #1 on: August 25, 2017, 08:58:09 AM »
Что делает твой странный скрипт?
Что за код 512?
Где отпускание кнопок?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: WM_KEYDOWN не работает
« Reply #2 on: August 25, 2017, 02:00:27 PM »
512    =  0x0200    -  WM_MOUSEMOVE


NULL!

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Re: WM_KEYDOWN не работает
« Reply #3 on: August 25, 2017, 03:11:31 PM »
Поясню ситуацию. Есть браузерная игра - diep.io. Цель - играть одновременно за 2 танка в тандеме.
со 2-го окна происходит управление, на 1-е идет эмуляция.
вращение танка (движение мыши, WM_MOUSEMOVE, код 512) идет без проблем.
Проблема с эмуляцией нажатия клавиш (WM_KEYDOWN, код 256): танк не двигается вправо(клавиша D, код 68). однако, когда я щелкаю на 1 форму, то движение идет. понятное дело, что так не пойдет, нужно управление косвенное, без активации окна.
« Last Edit: August 25, 2017, 03:22:42 PM by NULL! »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: WM_KEYDOWN не работает
« Reply #4 on: August 25, 2017, 04:49:26 PM »
Видимо "форма" без фокуса на ней не принимает нажатия клавиш.