Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.67/30: Рейтинг темы: голосов - 30, средняя оценка - 4.67
denis0612
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 39
1

Полноэкранный режим -> оконный режим

14.06.2013, 17:39. Просмотров 6019. Ответов 22
Метки нет (Все метки)

Нужно программно перевести игру из полноэкранного режима в оконный, пробовал программно нажать комбинацию alt+Enter, но игра реагирует как будто я нажал только Enter, то есть клавиша alt почему-то не срабатывает, видимо особенности игры. Так же пробую это:
Код
SetWindowLong(Client,GWL_STYLE,WS_OVERLAPPEDWINDOW|WS_VISIBLE);
	SetWindowLong(Client,GWL_EXSTYLE,0L);
	ShowWindow(hWnd,SW_SHOWDEFAULT);
Ноль реакции, помогите, очень нужно(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2013, 17:39
Ответы с готовыми решениями:

Полноэкранный режим
Подскажите, можно ли сделать окно в полноэкранном режиме обходясь без DirectX и...

Перевести приложение в полноэкранный режим
Как сделать штоб окно програми било на целий екран как у игр

Как убрать звуковое сопровождение при переключении в полноэкранный режим
распахиваю окно и возвращаю так: case WM_SYSKEYDOWN: //обработка нажатия...

Перевести визуализацию WinAmp в полноэкранный режим
Как перевести визуализацию винампа в полноэкрнный режим? эмулирование alt+enter...

Диалоговый режим
Здравствуйте . Как работать в диалоговом режиме ? В программе нужно...

22
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
14.06.2013, 21:08 2
можно так , но не факт что получится
C++
1
2
3
4
5
6
7
8
9
if(FindWindow(NULL, "название окна")){
 
hw=FindWindow(NULL, "название окна");
 
}
 
SetWindowLongA(hw,GWL_STYLE,WS_SIZEBOX);
 
MoveWindow(hw,100,100,400,400,FALSE);
0
denis0612
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 39
15.06.2013, 08:31  [ТС] 3
К сожалению не срабатывает, какие еще варианты есть?
0
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
15.06.2013, 10:24 4
denis0612, скажи мне зачем это могло понадобиться ?
0
denis0612
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 39
15.06.2013, 11:45  [ТС] 5
Спасибо, решил проблему сам.
0
Taatshi
Администратор
11712 / 5056 / 257
Регистрация: 05.04.2011
Сообщений: 13,807
Записей в блоге: 2
15.06.2013, 12:03 6
denis0612, Вы не могли бы показать решение - может быть, это кому-то поможет
0
denis0612
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 39
15.06.2013, 12:40  [ТС] 7
Выйти из полноэкранного режима получилось, но вот теперь нужно сделать условие при котором этот выход выполнялся, какой функцией можно проверить режим окна?

Код
SendMessage(Client, WM_SYSKEYDOWN, 0x00000012, 0x20380001);
SendMessage(Client, WM_SYSKEYDOWN, 0x0000000D, 0x201C0001);
SendMessage(Client, WM_SYSCHAR, 0x0000000D, 0x201C0001);
SendMessage(Client, WM_SYSKEYUP, 0x0000000D, 0xE01C0001);
SendMessage(Client, WM_KEYUP, 0x00000012, 0xC0380001);
0
denis0612
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 39
16.06.2013, 17:56  [ТС] 8
Так что неужели никак не проверить в полноэкранном режиме приложение или нет??
0
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
16.06.2013, 19:51 9
Цитата Сообщение от denis0612 Посмотреть сообщение
Так что неужели никак не проверить в полноэкранном режиме приложение или нет??
получаешь какое разрешение экрана -
C++
1
2
int iWidth = GetSystemMetrics(SM_CXSCREEN);
int iHeight = GetSystemMetrics(SM_CYSCREEN);
затем получаеш размер окна -
C++
1
2
GetWindowRect(hwnd,&rect);
//сравниваем - rect.bottom,rect.right
0
denis0612
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 39
17.06.2013, 11:47  [ТС] 10
Если приложение в оконном режиме, но развернуто на весь экран, то его ширина и высота так же будут равны разрешению экрана.
0
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
17.06.2013, 20:44 11
ну , а я тебе о чём ?
Ты спросил -
Цитата Сообщение от denis0612 Посмотреть сообщение
Так что неужели никак не проверить в полноэкранном режиме приложение или нет??
я тебе ответил , что не так ? Ты хоть пробывал ?
0
denis0612
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 39
17.06.2013, 21:05  [ТС] 12
Пробовал, нельзя ли реализовать это с помощью проверки стилей окна которые меняются при переходе в полноэкранный режим.
0
Croessmah
++Ͻ
14607 / 8361 / 1576
Регистрация: 27.09.2012
Сообщений: 20,556
Записей в блоге: 2
Завершенные тесты: 1
18.06.2013, 17:52 13
Полноэкранный режим != окно размером во весь экран
0
denis0612
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 39
18.06.2013, 19:25  [ТС] 14
вот и я про это же, так что сравнение размера окна и разрешения экрана не прокатывает.
0
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
18.06.2013, 23:08 15
Цитата Сообщение от Croessmah Посмотреть сообщение
Полноэкранный режим != окно размером во весь экран
это если есть рамка у окна , а если её нет ?
0
Croessmah
++Ͻ
14607 / 8361 / 1576
Регистрация: 27.09.2012
Сообщений: 20,556
Записей в блоге: 2
Завершенные тесты: 1
18.06.2013, 23:23 16
del
0
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
18.06.2013, 23:34 17
а вот вам доказательство
0
Вложения
Тип файла: rar Project.rar (10.1 Кб, 21 просмотров)
Croessmah
++Ͻ
14607 / 8361 / 1576
Регистрация: 27.09.2012
Сообщений: 20,556
Записей в блоге: 2
Завершенные тесты: 1
18.06.2013, 23:56 18
Класс!!!
Полноэкранный режим -> оконный режим

Полноэкранный режим, это не просто развернутое на весь экран окно!
0
Игорь с++
473 / 465 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
19.06.2013, 00:06 19
Croessmah, а что Вы мне показываете ? То , что вы вынесли на передний план другое своё окошко ? Вот , что получилось у меня .
0
Миниатюры
Полноэкранный режим -> оконный режим  
Croessmah
19.06.2013, 00:08     Полноэкранный режим -> оконный режим
  #20

Не по теме:

Я про Фому, Вы про Ерему - мы никогда не договоримся.
Offmode

0
19.06.2013, 00:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2013, 00:08
Привет! Вот еще темы с ответами:

Из сpp в режим API
Есть программа #include <iostream> #include<windows.h> using namespace std;...

Виртуальный режим в ListView
Добрый день! Задача состоит в том, чтобы считать данные файла любого размера и...

Виртуальный режим в ListView
Добрый день! Задача состоит в том, чтобы считать файл и вывести его содержимое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru