Как сделать так чтобы во время игры курсор не уезжал на второй монитор

Не совсем понятно: этот код просто не даёт курсору выйти за пределы игорого экрана? Или после restore/resize не даёт курсору «рассихронизироваться» с игровым (как в oblivion, например)?
Просто лично мне до сих пор не удалось заставить fullscreen-приложение вести себя нормально на одном мониторе, когда я перевожу курсор на второй монитор и что-то там нажимаю (winamp, например 🙂 ).

#2
15:13, 7 янв 2011

Ето для самой игръ, да.
А для разработки охота перевести на второй монитор И чтобъ игра не свернулась.
Ето можно сделать, запомнив адрес процедуръ обработки сообщений окошка перед CreateDevice(), потом после (так как Direct3D рантайм ставит свой обработчик поверх нашего) и поставить новъй обработчик, которъй в случае WM_ACTIVATEAPP просто передает сообщение нашему старому обработчику, все остальнъе — тому что после CreateDevice() взяли.
Таким образом отключаем Direct3D рантайм из обработки етого мессиджа и все работает.

#3

ТЕБЯ ТОЖЕ ДОСТАЛ ЭТОТ БЕЛЫЙ КУРСОР НА ЭКРАНЕ КОМПЬЮТЕРА? #shorts


16:41, 7 янв 2011

~X~
просто не дает выйти за пределы экрана.

>Просто лично мне до сих пор не удалось заставить fullscreen-приложение вести себя нормально на одном мониторе, когда я перевожу курсор на второй монитор и что-то там нажимаю (winamp, например 🙂 ).
да, еще иногда хочется быстро альттабнуться в приложение на другом монике и что-нибудь там сделать, потом вернуться и чтобы без сворачивания.
пока ни в одной fullscreen игре не видел подобного.

Z
зачем дебажить в фулскрине?
а в релизе ты применял описанный способ?
а devicelost и потеря ресурсов,может произойти в твоем способе? (я не знаю, как генерится devicelost)
напиши хинт 🙂

#4
18:17, 7 янв 2011

Еще по теме:  Как увеличить плавность монитора

vlob
>зачем дебажить в фулскрине?
Чтобъ дебажит фулскрин. Чтобъ имея 2 монитора, воспользоватся максимально одним из них.
Device lost произходит.

#5
18:55, 7 янв 2011

Хм. Я делаю фулскрин игры для многомониторных конфигураций и у мну ничего не сворачивается при клике за пределами окна без всяких извратов. Я чего-то не так делаю.

#6
19:08, 7 янв 2011
#7
19:23, 7 янв 2011

Так вы про DX. Надо было догадаться. я на OGL пишу. Сорри за офтом. В теме не увидел упоминания DX.

#8
23:28, 7 янв 2011

>Таким образом отключаем Direct3D рантайм из обработки етого мессиджа и все работает.

А это идея! спасибо. А нет ли у кого исходника directx-обработчика окна, или типа реверса?
Кстати я правильно понимаю что в таком случае если мы переключимя например на блокнот который тоже на втором мониторе, то мы его не увидим?

Как заблокировать курсор мыши на втором мониторе

Я уже много лет работаю на двух мониторах. Это удобно, особенно когда мне надо объединять в один текст большой объём информации. Но иногда мне необходимо сосредоточиться только на одном мониторе, и тут встаёт вопрос, как полностью отключить второй экран, включая движение мышки на нём.

Курсор выходит за рамки minecraft | КАК ИСПРАВИТЬ

Dual Monitor Tools — программа с открытым исходным кодом, позволяющая задать различные хоткеи для действий с экранами на многомониторных системах. В том числе и заблокировать курсор мыши.

Dual Monitor Tools — программа с открытым исходным кодом, позволяющая задать различные хоткеи для действий с экранами на многомониторных системах. В том числе и заблокировать курсор мыши.

  • Launcher — настройка быстрого запуска приложений. С ее помощью вы можете заранее определить на каком дисплее будет открываться та или иная программа, запускать избранные приложения с нескольких клавиш и указать размеры окна и положение на любой из ваших мониторов.
  • Snap — эта утилита может сделать скриншот, захватить текущее изображение на основном мониторе и отобразить его на дополнительном.
  • Swap Screen — быстрое перемещение активных окон с одного монитора на другой с помощью горячих клавиш. Позволяет заранее настроить положение окна и ограничить движение мыши между мониторами.
  • Wallpaper — управление обоями на мониторах. Позволяет установить разные картинки на каждом из мониторов, управлять положением каждого изображения, масштабировать его и перемещать по экрану.
Еще по теме:  Лучшие фирмы производители мониторов

Dual Monitor Tools

Спасибо, что читаете! На данный момент большинство моих заметок, статей и подборок выходит в telegram канале «Левашов». Обязательно подписывайтесь, чтобы не пропустить новости мира ИТ, полезные инструкции и нужные сервисы.

Респект за пост! Спасибо за работу!

Хотите больше постов в блоге? Подборок софта и сервисов, а также обзоры на гаджеты? Сейчас, чтобы писать регулярно и радовать вас большими обзорами, мне требуется помощь. Чтобы поддерживать сайт на регулярной основе, вы можете оформить подписку на российском сервисе Boosty. Или воспользоваться ЮMoney (бывшие Яндекс Деньги) для разовой поддержки:

Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.

wargm.ru - рейтинг серверов

Telegram

Your Browser Does Not Support iframes!

Последние

Рубрики

Подписаться
Соединить с D
Соединить с D
0 комментариев
Inline Feedbacks

View all comments

СЧЕТЧИКИ

РЕКЛАМА И ДОНАТЫ

Социальные сети

Использование материалов разрешается с активной ссылкой на levashove.ru.

Источник: levashove.ru

Как предотвратить смещение курсора на другой монитор во время игр

Большинство игр ограничивают ваш курсор окном игры, если вы не нажмете Alt + Tab. Но иногда, если у вас несколько мониторов, вы получаете игру, которая позволяет вашему курсору «перемещаться» на другой экран во время игры. Вы можете предотвратить это с помощью бесплатного инструмента Cursor Lock.

Cursor Lock – это небольшая удобная утилита от разработчика, которая называет себя Snake, которая позволяет вам «привязать» курсор к определенной программе, чаще всего к игре. Это выглядит сложно, но в большинстве случаев им чрезвычайно легко пользоваться.

Сначала загрузите Cursor Lock и установите его так же, как обычную программу Windows. Затем запустите приложение «Настройка блокировки курсора».

В окне Cursor Lock происходит много всего, но для многих игр это должно быть очень просто. Просто установите флажок «Открыть программу» и перейдите к EXE-файлу игры. Например, в моем случае я направил его в EXE-файл Metro: Last Light, который находится в моей папке Steam по адресу:

Еще по теме:  Как разделить монитор на две части

C: Games Steam steamapps common Metro Last Light MetroLL.exe

Затем просто нажмите кнопку «Создать ярлык» в нижней части окна.

Это создаст ярлык, где вы хотите, чтобы запустить эту игру с включенной блокировкой курсора. Для меня это было все, что мне нужно, чтобы держать курсор во время игры в Metro: Last Light.

В других случаях вам может понадобиться добавить несколько аргументов. Для DOOM я обнаружил, что должен был указать «Открыть программу» на моем Steam.exe , «Заблокировать программу» на EXE DOOM и «Открыть программные аргументы» на -applaunch 379720 , где 379720 – идентификатор приложения для рассматриваемой игры.

(Если вы не знаете, какой у приложения идентификатор игры, просто зайдите в Google игру и перейдите на ее страницу в Steam Store – номер в конце URL-адреса – это его идентификатор, как показано ниже.)

Блокировка курсора имеет множество дополнительных функций, которые могут помочь, если вышеуказанные параметры не работают. У Снейка есть список игр, в которых подтверждена работоспособность, а также варианты, которые нужно проверить, включая Starcraft, The Witcher и Fallout: New Vegas.

Видео с инструкциями Снейка также демонстрирует некоторые примеры того, что вы можете попробовать, если игры нет в списке, так что проверьте это ниже.

Возможно, вам придется поиграть с ним, чтобы заставить его работать должным образом для вашей конкретной игры, но, по моему опыту, вышеупомянутые два варианта работали как шарм. Я просто запускаю эту игру с помощью ярлыка, который я сделал в Cursor Lock, и все это просто ужасно.

Источник: tutorybird.ru

Оцените статью
Добавить комментарий