Russian Qt Forum
Ноябрь 27, 2024, 02:39
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Реализация проекта
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Реализация проекта (Прочитано 7151 раз)
serega-5508
Гость
Реализация проекта
«
:
Октябрь 02, 2011, 15:01 »
Идея такая: нужно написать прогу, которая будет блокировать рабочий стол, др. элементы, программы, чтобы нельзя было ничего делать, кроме этой программы, пока она включена. Когда выходишь из программы, можно работать в обычном режиме. Вопрос: это как-то можно реализовать в Qt и как, если возможно?
Записан
andrew.k
Гость
Re: Реализация проекта
«
Ответ #1 :
Октябрь 02, 2011, 15:09 »
Попробуй показать форму на весь экран в режиме поверх всех.
+
grabKeyboard и grabMouse
Записан
serega-5508
Гость
Re: Реализация проекта
«
Ответ #2 :
Октябрь 02, 2011, 16:51 »
пробовал grabKeyboard - но всё же я могу переключать окна программы (Alt+Tab). мне нужно только чтобы было это окно.
Записан
Даниил
Гость
Re: Реализация проекта
«
Ответ #3 :
Октябрь 02, 2011, 16:53 »
Очередной порно-баннер пишем?
Записан
andrew.k
Гость
Re: Реализация проекта
«
Ответ #4 :
Октябрь 02, 2011, 17:21 »
Цитата: serega-5508 от Октябрь 02, 2011, 16:51
пробовал grabKeyboard - но всё же я могу переключать окна программы (Alt+Tab). мне нужно только чтобы было это окно.
Если оно будет поверх всех (я использовал флаги Qt::FramelessWindowHint | Qt::Window | Qt::WindowStaysOnTop) то другие приложения не выйдут на передний план. Правда могут получать фокус.
Записан
serega-5508
Гость
Re: Реализация проекта
«
Ответ #5 :
Октябрь 02, 2011, 17:26 »
Цитата: Даниил от Октябрь 02, 2011, 16:53
Очередной порно-баннер пишем?
Вообще отморозок что ли?!? не пались, если у самого рука из под стола не вылазит.
Записан
andrew.k
Гость
Re: Реализация проекта
«
Ответ #6 :
Октябрь 02, 2011, 17:32 »
Цитата: serega-5508 от Октябрь 02, 2011, 17:26
Цитата: Даниил от Октябрь 02, 2011, 16:53
Очередной порно-баннер пишем?
Вообще отморозок что ли?!? не пались, если у самого рука из под стола не вылазит.
Ну что ты ведешься на провокацию? Промолчал бы умнее бы выглядел.
Записан
andrew.k
Гость
Re: Реализация проекта
«
Ответ #7 :
Октябрь 02, 2011, 17:33 »
Кстати мне тоже интересно как обойти альт+таб.
У меня одно приложение в изолированной среде, поэтому мне достаточно описанного выше подхода.
Записан
serega-5508
Гость
Re: Реализация проекта
«
Ответ #8 :
Октябрь 02, 2011, 18:53 »
ну как бы метод grabKeyboard - блокирует ввод клавиатуры, но только текста, ну и, конечно, окно можно закрывать при помощи Atl+F4, а хотелось бы сделать типа такого: вводишь логин, пароль, и окно это исчезает.
Записан
LisandreL
Птица говорун
Offline
Сообщений: 984
Надо улыбаться
Re: Реализация проекта
«
Ответ #9 :
Октябрь 03, 2011, 07:36 »
Ну, от alt+f4 скорее всего можно избавиться переопределив closeEvent главного окна.
Но через ctrl+alt+delete и диспетчер задач ваш процесс всё равно можно будет прибить.
Как показывают упомянуты выше Даниилом блокировщики-вымогатели СМС обойти это можно, но вряд ли используя документированные api системы.
Это если про Windows говорить.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Реализация проекта
«
Ответ #10 :
Октябрь 03, 2011, 11:19 »
Здравый смысл говорит что в Qt таких средств быть не должно.
На Mac есть "DirectDisplay", можно захватить все или некоторые дисплеи. Но отладчик тоже попадает под удар, поэтому после десятка перезагрузок я эти эксперименты прекратил. Потом заметил что некоторые модули (напр связанные с OpenGL) умеют прорываться к экрану и через эту блокировку.
А написать порно-баннер - работа не хуже других, видео Вам дадут.
Записан
SASA
Гость
Re: Реализация проекта
«
Ответ #11 :
Октябрь 03, 2011, 17:07 »
Делал такое на WIN API. Окошко самого верхнего уровня (типа диспетчера задач) и таймер, который подбрасывает окно. Алт таб работает но не успеваешь ничего сделать твое окошко вылезает на передний план.
PS Отлаживать такое - ужас. Выход из дебага - рессет:) Поэтому сразу лучше зашить какую-нибудь магическую комбинацию.
Записан
Даниил
Гость
Re: Реализация проекта
«
Ответ #12 :
Октябрь 03, 2011, 19:02 »
Цитата: SASA от Октябрь 03, 2011, 17:07
Выход из дебага - рессет:)
В моя книжку цитат прогеров
Записан
vertus
Гость
Re: Реализация проекта
«
Ответ #13 :
Октябрь 04, 2011, 09:08 »
Нужно кроссплатформенное решение? Есть похожее решение для Linux, возможно сможешь заточить под себя.
Записан
serega-5508
Гость
Re: Реализация проекта
«
Ответ #14 :
Октябрь 04, 2011, 14:37 »
vertus
, скинь, что есть под Linux, если можешь.
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...