Добавлено: 04 Август 2004, 10:03
Привет Всем !
Подскажите пож-ста пример вызова ф-и API по блокировке стандартных кнопок окна "развернуть" и "свернуть в окно"
Причина, нужно обеспечить однозадачное выполнение программы, чтобы фокус окна не уходил на другую задачу. кнопку сворачивания в иконку я уже заблокировал, панель задач скрыл, а с этим вожусь....
Было бы интересно узнать мнение уважаемого сообщества кто как решает такую проблему...
Спасибо
Сергей
Сочи
(Добавление)
Убери атрибут system у окна и не будет кнопок, и даже крестиика "закрыть" не будет!
--
Best regards,
Чаплыгин mailto:chapligin@fromru.com
Спасибо за оперативный отклик, но я имею ввиду главное(Frame) окно програмы, там такая штука не проходит. Более того, я наконец-то скрыл и кнопки "развернуть"(maximize) и "свернуть в окно", однако, если щелкнуть мышью по заголовку окна, то оно все равно сворачивается, а развернуть-то уже нечем (кнопки нет), осталось заблокировать мышь
Причина всего этого: в магазине пользователь работает со сканером штрих-кодов, подключенных в разрыв клавиатуры, и умудряется потерять фокус окна вначале свернув окно, а потом щелкнув мышью куда попало.
В связи с тем, что работают женщины далеко за ..... лет, то объяснение, что вы щелкаете сканером при неактивном окне не помогает.
Если подменить Shell и вместо explorer.exe поставить свою программу, то все хорошо, до момента завершения программы, а дальше надо делать Shutdown Windows (может у кого есть пример вызова оной API-функции)
А может кто еще как этло реализует ?
Заранее благодарен за подсказку,
Сергей
Перехватывай и отменяй Event:Suspend, Event:CloseWindow, Event:CloseDown. Но этот способ я сам не пробовал, могут быть проблемы.
Есть и очень надёжный способ, но требует знания C++ и API: пишешь аппликуху (из 100 строк), которая сидит в трее и каждую 1/1000 секунды проверяет фокус. Если фокус не там - сама возвращает куда надо. Это проверено и работает, но поделиться исходником не могу. Ищи в MSDN.
Александр Агеев (aageev@satren.ru)
Написал: ClaList(2)
Подскажите пож-ста пример вызова ф-и API по блокировке стандартных кнопок окна "развернуть" и "свернуть в окно"
Причина, нужно обеспечить однозадачное выполнение программы, чтобы фокус окна не уходил на другую задачу. кнопку сворачивания в иконку я уже заблокировал, панель задач скрыл, а с этим вожусь....
Было бы интересно узнать мнение уважаемого сообщества кто как решает такую проблему...
Спасибо
Сергей
Сочи
(Добавление)
Убери атрибут system у окна и не будет кнопок, и даже крестиика "закрыть" не будет!
--
Best regards,
Чаплыгин mailto:chapligin@fromru.com
Спасибо за оперативный отклик, но я имею ввиду главное(Frame) окно програмы, там такая штука не проходит. Более того, я наконец-то скрыл и кнопки "развернуть"(maximize) и "свернуть в окно", однако, если щелкнуть мышью по заголовку окна, то оно все равно сворачивается, а развернуть-то уже нечем (кнопки нет), осталось заблокировать мышь
Причина всего этого: в магазине пользователь работает со сканером штрих-кодов, подключенных в разрыв клавиатуры, и умудряется потерять фокус окна вначале свернув окно, а потом щелкнув мышью куда попало.
В связи с тем, что работают женщины далеко за ..... лет, то объяснение, что вы щелкаете сканером при неактивном окне не помогает.
Если подменить Shell и вместо explorer.exe поставить свою программу, то все хорошо, до момента завершения программы, а дальше надо делать Shutdown Windows (может у кого есть пример вызова оной API-функции)
А может кто еще как этло реализует ?
Заранее благодарен за подсказку,
Сергей
Перехватывай и отменяй Event:Suspend, Event:CloseWindow, Event:CloseDown. Но этот способ я сам не пробовал, могут быть проблемы.
Есть и очень надёжный способ, но требует знания C++ и API: пишешь аппликуху (из 100 строк), которая сидит в трее и каждую 1/1000 секунды проверяет фокус. Если фокус не там - сама возвращает куда надо. Это проверено и работает, но поделиться исходником не могу. Ищи в MSDN.
Александр Агеев (aageev@satren.ru)
Написал: ClaList(2)