Автор Тема: как управлять сразу двумя окнами?  (Прочитано 6942 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ALEX_230_VOLT

  • Модератор
  • Сообщений: 7645
  • Пол: Мужской
    • Просмотр профиля
как управлять сразу двумя окнами?
« : 17 Октябрь 2010, 21:43:00 »
задача такова: надо что нажатия действовали сразу на 2 приложения. то есть вот допустим у меня открыто сразу 2 эмулятора и я играю сразу в две игры одинаковыми нажатиями. Нужно мне это НЕ для TAS записи, а для более удобного тестирования нашего проекта Rock'n'roll racing R - чтобы одновременно управлять машиной из оригинального рома, и из нашего ремэйка   ;) в идеале поведение машины должно быть полностью синхронным  :)

Оффлайн УльтраБлокС

  • Пользователь
  • Сообщений: 1166
  • Пол: Мужской
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #1 : 17 Октябрь 2010, 21:45:04 »
ALEX_230_VOLT, получить фокус на два окна сразу нельзя.

Оффлайн ALEX_230_VOLT

  • Модератор
  • Сообщений: 7645
  • Пол: Мужской
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #2 : 17 Октябрь 2010, 21:49:57 »
да не может быть. пишут же как то tas прохождения сразу 4х игр  o_0

Оффлайн AnXIouS

  • Пользователь
  • Сообщений: 323
  • Пол: Мужской
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #3 : 17 Октябрь 2010, 23:28:23 »
Фокус получить нельзя, но можно отсылать нажатия клавиш. Хотя будет незначительная задержка. Но возникает проблема, готовых средств для этого наверное нету.

Оффлайн BmpCorp

  • Пользователь
  • Сообщений: 1413
  • Пол: Мужской
  • Серьёзнее не бывает
    • Steam
    • Youtube
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #4 : 17 Октябрь 2010, 23:35:09 »
Цитата: ALEX_230_VOLT
да не может быть. пишут же как то tas прохождения сразу 4х игр  
Это в FCE Ultra есть функция перехвата клавиш при неактивном окне. А вот ни в одном эмуляторе Сеги я такой функции не припоминаю... хотя может и ошибаюсь.

Оффлайн Maelstrom

  • Пользователь
  • Сообщений: 4485
  • Пол: Мужской
  • Deinonychus Antirrhopus
    • Youtube
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #5 : 17 Октябрь 2010, 23:54:14 »
Цитата
Это в FCE Ultra есть функция перехвата клавиш при неактивном окне.
А меня этим Visual Boy Advance задолбал - я в чате пишу, а в игре снимается пауза и героя убивают :)

Оффлайн Brick_Man

  • Пользователь
  • Сообщений: 1949
  • Пол: Мужской
  • Rebuilt.
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #6 : 18 Октябрь 2010, 06:14:11 »
да не может быть. пишут же как то tas прохождения сразу 4х игр  o_0
на сегу-то не пишут ;)

Оффлайн ALEX_230_VOLT

  • Модератор
  • Сообщений: 7645
  • Пол: Мужской
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #7 : 18 Октябрь 2010, 13:11:27 »
ну блин, вот это облом :( можно конечно на худой конец сравнивать с версией для gba, но это тупо, тем более что в ней значения параметров пока что ещё никем не взломаны и не факт что они будут совпадать с SMDшными (хотя проверить стоит, возможно что адреса те же)

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #8 : 18 Октябрь 2010, 14:03:06 »
Можно написать небольшую прогу на дельфях, например, которая будет отсылать обоим окнам кнопки, которые нажимаешь в ней. Не знаю, получится или нет, не пробовал никогда. Вечером посмотрю, щас на работе.
Если кто хочет сам попробовать, надо использовать функцию Windows APISendMessage. Получаем дескрипторы окон эмуляторов (для упрощениея два экзешника можно назвать по-разному). На форме дельфи берём событие OnKeyDown, его параметр Key типа Word и дескрипторы засовываем в SendMessage, 2 вызова.

Онлайн HardWareMan

  • Модератор
  • Сообщений: 7505
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #9 : 18 Октябрь 2010, 14:10:27 »
Тогда уже PostMessage, пышто нужно послать и не ждать доставки. SendMessage ждет доставки - рассинхронизон будет диким.

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #10 : 18 Октябрь 2010, 14:32:23 »
Ну раз ты такой умный, вот и пиши  :D
Я наизусть эти функции не помню.

Оффлайн Adept

  • Пользователь
  • Сообщений: 754
  • Пол: Мужской
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #11 : 18 Октябрь 2010, 15:16:59 »
Меня вот тоже тема заинтересовала.

1)Почему нельзя получить фокус на два окна?
Это какая-то программистская сложность или железо слабое?

2)Это на Windows или везде так(Linux и т.д.)?
Есть ли оси с фокусом на два окна?
« Последнее редактирование: 18 Октябрь 2010, 15:23:12 от Adept »

Оффлайн УльтраБлокС

  • Пользователь
  • Сообщений: 1166
  • Пол: Мужской
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #12 : 18 Октябрь 2010, 15:48:12 »
1)Почему нельзя получить фокус на два окна?
Это какая-то программистская сложность или железо слабое?

Я говорил про фокус на окно, а не про отсылку нажатий в несколько окон. Активное окно просто может быть только одно. Но это не значит что прога с неактивным окном не может работать и принимать нажатия  :D.

2)Это на Windows или везде так(Linux и т.д.)?
Есть ли оси с фокусом на два окна?

А зачем фокус на два окна? Везде так.

Оффлайн ALEX_230_VOLT

  • Модератор
  • Сообщений: 7645
  • Пол: Мужской
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #13 : 18 Октябрь 2010, 17:58:10 »
кста, щас заметил что snes9x-1.51-improvement5.2 имеет данную фишку перехвата  :wow:
а SNES это уже что то, хоть и не smd

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Re: как управлять сразу двумя окнами?
« Ответ #14 : 19 Октябрь 2010, 11:39:25 »
Через FindWindowEx находил хэндлы внутренних контролов и отправлял им кнопки. В Notepad++ сработало, в Адиторе нет. С генсом тоже не сработало :(