Запуск других приложений из Огре

У меня есть работающее приложение Ogre C++. Что я хочу сделать, это запустить другие приложения из моего приложения.

Например, когда я нажимаю какую-то кнопку в моем приложении, оно должно запустить другую программу. Я использую комбинацию системного вызова fork и exec, и она работает, но с некоторыми проблемами.

Я, например, попытался сделать это с xbmc, и он запускает это приложение, но дело в том, что фокус ввода автоматически не переходит в окно xbmc, даже когда он работает в полноэкранном режиме. Мне нужно использовать комбинацию Alt+Tab, чтобы вручную придать ей фокус.

То же самое, когда я выхожу из xbmc, мне нужно вручную вернуть фокус в окно приложения Ogre.

Можно ли запускать такие программы контролируемым образом из приложения Ogre? Если да, то как?

(Ubuntu 12.04 с CEGUI, OIS & OGRE)

1 ответ

Обработка фокуса в разных окнах - это не рендеринг и, следовательно, не задача, связанная с Ogre, а то, что необходимо обрабатывать на уровне ОС.

Поэтому вам нужно будет найти некоторые специфичные для платформы команды, которые позволят вам изменить фокус и вызвать их из вашего приложения Ogre, как только будет создано новое окно приложения.

Другие вопросы по тегам