Консультация № 161184
23.02.2009, 12:30
0.00 руб.
0 1 0
Здравствуйте!
Мне нужно решить такую проблему по windows-игре:
Мне нужно игру (типа-Counter-Strike), которая запускается в полноэкранном режиме переключить в режим windowed.
Причем сделать это нужно программно из другой программы, которая висит в процессах резидентом.
Я уже умею: через FindWindow могу получить handle нужного мне процесса, через PostMessage могу послать сообщение WM_QUIT и игра завершается
А как мне сказать ей, чтобы она переключилась в Windowed.
Пробовал менять видеорежимы программно,( например с помощью ChangeDisplaySettings), но это сбрасывает "Counter-Strike". Как мне ее переключить в Windowed, повторю, из другой программы, Заранее благодарю.

Обсуждение

Неизвестный
23.02.2009, 15:01
общий
Собственно мне нужно, чтобы моя форма была сверху над игрой (у меня там интересная штука сверху (c сиреной) ползает в целях борьбы с игрой у студентов). Дома у меня кстати все нормально, т.е. моя форма сверху, как я и хочу.

{основной процесс писал на Delphi, подстраховочный на Asm}
у формы FormStyle=fsStayOnTop
Окно показываю
SetWindowPos(Form1.Handle,HWND_TOPMOST,100,-40,Form1.Width,Form1.Height,SWP_NOACTIVATE);
Т.е. все как бы сверху должно быть и чтобы фокус у игры не перехватывать.
И вот на работе не получается: моя форма не хочет быть сверху - когда игра в режиме Windowed - тогда все нормально.
Извините за каламбур...
Форма ответа