Главная страница
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.056 c
3-1097658661
Pashkerton
2004-10-13 13:11
2004.11.14
Учет времени


4-1097030056
_Konstantin
2004-10-06 06:34
2004.11.14
Как определить платформу


1-1099305664
alexasem
2004-11-01 13:41
2004.11.14
Как преобразовать тип String в PAnsiChar


1-1098870227
Cosinus
2004-10-27 13:43
2004.11.14
StringGrid.Objects... Вопросы реализации


3-1097844183
Vemer
2004-10-15 16:43
2004.11.14
Необходимость наличия Primary Key