Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.12.07;
Скачать: CL | DM;

Вниз

Запрет нажатия системных клавиш   Найти похожие ветки 

 
ElectriC ©   (2007-04-05 17:32) [0]

Начал писать движок на WinAPI.
Возник вопрос:
Как запретить [Ctr]+[Alt]+[Del], [Alt]+[F4], [Alt]+[Tab], [Windows] и прочих системных клавиш - то бишь как это сделано в Quake III и прочих играх?


 
cyborg ©   (2007-04-05 19:19) [1]

Это обычно делают по причине глюкавости переключения чудо игры. В газенваген такие игры, которые не дают переключаться.


 
ElectriC ©   (2007-04-05 20:22) [2]

Окей! Значит Кармак создаёт кривые и глюченые движки;)))))

Есть ещё вопрос:
Как правильно отловить минимизацию окна?
Ниже приведённый код не помогает:

function WinProc(WinHan : THandle; Msg : UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
 Result := 0;

 case Msg of
   ...
   WM_SIZE    :
     If (wParam = SIZE_MAXHIDE) or (wParam = SIZE_MINIMIZED) then
        MessageBox(0,"1","My Engine",0) else MessageBox(0,"2","My Engine",0);
   ...
   else Result := DefWindowProc(WinHan, Msg, wParam, lParam);
 end;
end;


 
Asteroid ©   (2007-04-06 04:42) [3]

Отлавливай WM_ACTIVATE.

А насчет запретов - фтопку, фтопку.
Лично меня еще не радуют игры без оконного режима :) Не говоря о тех, кто криво переключается в полноэкранный с меньшим разрешением (отчего все окна сдвигаются куда попало).


 
Мистер Т   (2007-04-06 12:27) [4]

> ElectriC ©   (05.04.07 20:22) [2]
> Окей! Значит Кармак создаёт кривые и глюченые движки;)))))

Кармак не Бог, а значит не истина в последней инстанции.

> Как запретить [Ctr]+[Alt]+[Del], [Alt]+[F4], [Alt]+[Tab],
>  [Windows] и прочих системных клавиш - то бишь как это сделано
> в Quake III и прочих играх?

Почему-то в Q3 (и играх на его движке - CoD, RTCW и т.д.) у меня отлично сворачиваются/разварачиваются основное окно (реакция на Alt+Tab) и Ctrl+Alt+Del работает и прочая системщина. Что я не так делаю ?


 
homm ©   (2007-04-06 12:32) [5]

> Почему-то в Q3 (и играх на его движке - CoD, RTCW и т.д.)
> у меня отлично сворачиваются/разварачиваются основное окно
> (реакция на Alt+Tab) и Ctrl+Alt+Del работает и прочая системщина.
> Что я не так делаю ?

Не знаю что ты делааешь не так, но у меня в Q3 тоже не работет ничего.Фокус передается, а вот окно не сворачивается и с переднего планане уходит. приходится по панели задачь правой кнопкой, переместить, дальше стрльчками. Потом возвращаю :)


 
ElectriC ©   (2007-04-06 14:12) [6]


> Не знаю что ты делааешь не так, но у меня в Q3 тоже не работет
> ничего.Фокус передается, а вот окно не сворачивается и с
> переднего планане уходит. приходится по панели задачь правой
> кнопкой, переместить, дальше стрльчками. Потом возвращаю
> :)

Вот-Вот!
IMHO, лучше вообще запретить сворачивание и переключение между окнами,
когда работает игра. Так надёжней, что-ли! Меньше ошибок и неполадок будет с программой!


 
homm ©   (2007-04-06 14:15) [7]

> IMHO, лучше вообще запретить сворачивание и переключение между окнами,
> когда работает игра. Так надёжней, что-ли! Меньше ошибок
> и неполадок будет с программой!

А для увеличения безопасности на автодорогах, давайте выпускать машины без колес. А что-бы страну не захлестнуло пьянство, давайте запретим легальную алкогольную продукцию, и т.д.


 
Мистер Т   (2007-04-06 15:01) [8]

> homm ©   (06.04.07 12:32) [5]
> Фокус передается, а вот окно не сворачивается и с переднего
> планане уходит.

А, ну так-то да, такой трюк легко получается, если окно назначить "поверх всех окон", но ведь сочетание клавишь работает =)
А вот в CoD - точно сворачивается после Alt+Tab, только что проверил.

> ElectriC ©   (06.04.07 14:12) [6]
> Вот-Вот!
> IMHO, лучше вообще запретить сворачивание и переключение
> между окнами,
> когда работает игра. Так надёжней, что-ли! Меньше ошибок
> и неполадок будет с программой!

Убил бы за такое, ей Богу.
Нужно нормально программы писать, а не изобретать велосипеды. Гораздо проще описать реакцию на сворачивание окна.
Ну и плюсом, если у тебя игра повиснет (думаешь не зависнет, наивный ???), а ты Ctrl+Alt+Tab отключил, как думаешь, сколько ты минут/часов/дней потратишь на поиски ошибки перезагружая каждый раз компьютер ?

> homm ©   (06.04.07 14:15) [7]
> А что-бы страну не захлестнуло пьянство, давайте запретим
> легальную алкогольную продукцию

Кстати некоторые пытались =)


 
Мистер Т   (2007-04-06 15:02) [9]

> Ctrl+Alt+Tab отключил
читать Ctrl+Alt+Del

сорри...


 
ElectriC ©   (2007-04-06 22:28) [10]

Хех)))


 
ElectriC ©   (2007-04-07 14:25) [11]


> Asteroid ©   (06.04.07 04:42) [3]
> Отлавливай WM_ACTIVATE.

А можно по подробней, а то не выходит что-то((


 
homm ©   (2007-04-07 14:40) [12]

>
> А можно по подробней, а то не выходит что-то((

Наиболее подробно в [8] начинается со слов «Убил бы за такое, ей Богу.»


 
ElectriC ©   (2007-04-07 15:42) [13]


> Гораздо проще описать реакцию на сворачивание окна.

Подскажите, какой код хоть.


 
ElectriC ©   (2007-04-08 15:39) [14]

.


 
cyborg ©   (2007-04-08 15:45) [15]

Тебе все советуют не надо этого делать, но ты почему-то настойчиво пытаешься это реализовать. Лучше глюки поищи и исправь в своей игре, чтобы такими способами их скрывать не приходилось.


 
ElectriC ©   (2007-04-08 17:04) [16]

Так я спрашиваю про то, как ОТЛОВИТЬ РЕАКЦИЮ СВОРАЧИВАНИЯ(а не как запретить), какой код вообще надо использовать!


 
ElectriC ©   (2007-04-08 17:05) [17]

.


 
ElectriC ©   (2007-04-08 19:25) [18]

,



Страницы: 1 вся ветка

Текущий архив: 2008.12.07;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.017 c
2-1225199838
DJones
2008-10-28 16:17
2008.12.07
ghjспро опрос прибора на TTimer


2-1225090077
саня
2008-10-27 09:47
2008.12.07
Смена IP адреса


15-1222800406
axis_of_evil
2008-09-30 22:46
2008.12.07
как получить список процессов ..


2-1224875284
CodeMaster
2008-10-24 23:08
2008.12.07
Поддержка скриптов


2-1225217914
cruiser
2008-10-28 21:18
2008.12.07
Почему функция не возвращает результат в переменную типа string?