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

Вниз

Блокировка сочетаний клавиш   Найти похожие ветки 

 
Sphinx   (2004-10-02 22:55) [0]

Как можно заблокировать сочетания клавишь (Alt+Tab, Win+D и прочих) на время выполнения приложения?

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


 
Sphinx   (2004-10-04 00:16) [1]

что все знают и молчат?


 
cerber1 ©   (2004-10-04 00:27) [2]

Попробуй прописать их как ситемные комбинации из твоего приложения.


 
Gero ©   (2004-10-04 00:28) [3]

Ошибки исправлять надо, а не костыли расставлять.


 
Cobalt ©   (2004-10-04 01:39) [4]

> Sphinx  
Цитата из меня же:
" Когда игрушки блокируют комбинации CAD, Alt+Tab и т.п. - ненавижу. УБИТЬ ГОТОВ!"

P.S. Вычищай баги.


 
kaZaNoVa ©   (2004-10-04 02:20) [5]

Cobalt ©   (04.10.04 1:39) [4]

> " Когда игрушки блокируют комбинации CAD, Alt+Tab и
> т.п. - ненавижу. УБИТЬ ГОТОВ!"

120% согласен !!!!!!!!!!!!!!!!!


 
Gero ©   (2004-10-04 07:43) [6]


> Когда игрушки блокируют комбинации CAD

Ни хрена ж себе игрушки у тебя :)


 
Sphinx   (2004-10-04 12:22) [7]

Да я исправлю...там проблема то только с востановлением поверхностей DirectX выходит так что после сворачивания и востановления не получается восстановить поверхность и приложение просто закрывается.

Мне эта блокировка нужна временно, для себя !!!
К релизу естественно все подобное уберу, а ошибки исправлю !!!


 
Sphinx   (2004-10-04 12:30) [8]

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

Пишу на память так как сейчас Делфи под рукой нет:

case aMSG of
WM_ACTIVE: begin
            // если приложение потеряло активность
            if LOWORD(wParam)=INACTIVE then
              appActive:=False
            // иначе
            else
              begin
                // принудительно устанавливаем активное окно
                activHandle:=SetForgroundWindow(mainHandle);
                // если активное окно - приложение
                if activeHandle=mainHandle then
                  begin
                    // восстанавливаю поверхности
                    DDResult:=SurfaseRestore;
                    // если поверхности не восстановлены
                    // закрываю приложение
                    if DDRes<>DD_OK then
                      appRun:=False;
                  end;
                appActive:=True;
              end;
          end;


 
Alex_s   (2004-10-04 12:30) [9]

Убей оболочку на время отладки.


 
kaZaNoVa ©   (2004-10-04 12:34) [10]

Gero ©   (04.10.04 7:43) [6]
Max Pane  - я только за блокировку када им - готов был его  в своё время удалить ....


 
Sphinx   (2004-10-04 12:41) [11]

> Alex_s   (04.10.04 12:30) [9]

Из под Делфи даже и не пытаюсь запускать...компилирую и запускаю сам exe-файл.
В этом кстати и трудность, в логе отладки последняя запись: про невозможность восстановить одну из поверхностей. По коду пока не разобрался почему, хочу вот пока отключить возможность сворачивания окна, отладить основной код, в нем тоже ошибки естественно есть, чтобы на отрисовку не грешить, а потом подоробно проработать функцию восстановления.


 
Cobalt ©   (2004-10-05 00:30) [12]

А почему для отладки обязательно отрисовывать в полный экран?
Использхуй окно.


 
Sphinx   (2004-10-05 00:43) [13]

> А почему для отладки обязательно отрисовывать в полный экран?
> Использхуй окно.

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

а по поводу восстановления, ошибка возникает на восстановлении поверхности превышающей размерами основную. Остальные без проблем. Вот и думаю не пересоздавать ли её вообще.



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

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

Наверх




Память: 0.5 MB
Время: 0.073 c
4-1096979156
F1
2004-10-05 16:25
2004.11.14
Как получить иконку ехе файла?


10-1058336312
abc
2003-07-16 10:18
2004.11.14
как организовать обратную связь в DCOM? т.е от сервера к клиенту


14-1099073229
Zacho
2004-10-29 22:07
2004.11.14
Что-нибудь свеженькое из фантастики


1-1098889541
Tack
2004-10-27 19:05
2004.11.14
UNICODE и тип String в национальных версиях Win32


6-1094532299
BLABLA
2004-09-07 08:44
2004.11.14
Netsend от другово имени.