![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.02.2009
Сообщений: 30
|
![]()
Доброго уважаемые дамы и господа.
Прошу помощи... Пытаюсь написать программу, которая изменяет параметры сторонней проги. Буду откровенным - WorldOfTanks мучаю (далее WoT) Суть в чём - хочу программно изменить параметры окна. частично это получается, частично - нет. Код:
Если запустить WoT в обычном оконном режиме - размер мышкой можно так же довести лишь до 800*800 (не меньше), НО если взять окно за заголовок и отвести к верхней границе экрана, то окно автоматически расширяется (или сужается) до границ рабочей области (стандартная ф-ция Win, аналогично нажатию Win+стрелка вверх) При этом размер окна выставляется вне зависимости от ограничений приложения. При моём ноутбучном разрешении 1366*768 окно получает размер 1366*738 (что полностью соответствует рабочей области при панели пуска внизу или наверху). Я подумал, что такого же результата добьюсь при выполнении Код:
Да, окно получает положение в 0,0, но размер при этом (опять же на моём ноуте) 1366*800 Не могу понять... Если Винда стандартными средствами выполняет подобные действия, то, значит, они осуществимы! Тогда в чём затык ?! Пните пож-та в нужном направлении... Вторая проблема - полностью запретить сворачивание окна WoT даже при нажатии Win+D. Подобное видел для LineAge, но там прога висела в трее (полагаю, что она в цикле через равные промежутки времени искала окно и применяла к нему параметры) - "это не наш метод", зажирать системные ресурсы считаю паршивым занятием. Мб есть способ перехватывать события стороннего окна? (если уж вдруг нет параметра полного запрета сворачивания) Третья - при применении вышенаписанного кода, если свернуть окно WoT в панель и развернуть его, то оно "съезжает" и при каждом свернул-развернул продолжает ехать в неизвестном направлении (при этом не меняя размер). Тоже не пойму в чём проблема... Последний раз редактировалось Chugun; 26.12.2013 в 13:10. |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
В случае игр, всю работу над окном осуществляет игровой движок(его часть), обработывая пользовательские действия с мыши и прочих девайсов. |
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 04.02.2009
Сообщений: 30
|
![]() Цитата:
в любом случае окну посылается событие, которое обрабатывается как понять что за событие посылается и как его продублировать? допустим я просто уберу рамку (без применения размера и положения), а потом отослать это событие - в этом случае, имхо, окно растянется по рабочей области |
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
Да, можно програмно изменить размер окна, НО движок игры об этом не узнает, т.к. физически мышь не сдвинулась, не изменит размер рабочей области, и вы получите 800х600 при 1024х868. Хотя и не всегда так. Где-то разрабы замарачиваютя модобным гемороем собственных " в обход винды" методов, а где-то опираются на них. Последний раз редактировалось Человек_Борща; 26.12.2013 в 14:25. |
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 04.02.2009
Сообщений: 30
|
![]() Цитата:
нашёл способ развернуть окно без рамки на рабочую область, даже если она меньше 800 но, да, Вы правы, движок не получает этих параметров и после сворачивания в панель, последующего разворачивания окно принимает исходное положение, хоть и остаётся без рамки... попробую ещё пошаманить... |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Размер окна программы | Kambalin | Помощь студентам | 4 | 29.03.2013 05:37 |
Размер окна в С++ | Krezol | Помощь студентам | 1 | 02.04.2010 20:53 |
Пропорциональный размер окна | nazavrik | Win Api | 1 | 25.11.2009 01:28 |
Размер окна | t3ns0r | Общие вопросы C/C++ | 2 | 29.11.2008 21:22 |
Размер окна в зависимости от размера окна | Reverent | JavaScript, Ajax | 1 | 02.02.2008 15:49 |