Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Блокировка сочетаний клавиш [D7, WinXP]


Sphinx ©   (2004-10-02 22:55:00) 

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

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


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

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

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

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


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

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


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

> Alex_s   (04.10.04 12:30) [9]

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


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

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


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

Тогда такой еще вопрос. Достаточно ли для проверки активности приложения обрабатывать команду 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:00) [6]

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


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

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

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


Gero   (2004-10-04 07:43:00) [8]


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

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


kaZaNoVa   (2004-10-04 02:20:00) [9]

Cobalt ©   (04.10.04 1:39) [4]

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

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


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

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

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


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

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


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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо