Russian Qt Forum
Ноябрь 27, 2024, 04:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Реализация проекта  (Прочитано 7159 раз)
serega-5508
Гость
« : Октябрь 02, 2011, 15:01 »

Идея такая: нужно написать прогу, которая будет блокировать рабочий стол, др. элементы, программы, чтобы нельзя было ничего делать, кроме этой программы, пока она включена. Когда выходишь из программы, можно работать в обычном режиме. Вопрос: это как-то можно реализовать в Qt и как, если возможно?
Записан
andrew.k
Гость
« Ответ #1 : Октябрь 02, 2011, 15:09 »

Попробуй показать форму на весь экран в режиме поверх всех.
+
grabKeyboard и grabMouse
Записан
serega-5508
Гость
« Ответ #2 : Октябрь 02, 2011, 16:51 »

пробовал grabKeyboard - но всё же я могу переключать окна программы (Alt+Tab). мне нужно только чтобы было это окно.
Записан
Даниил
Гость
« Ответ #3 : Октябрь 02, 2011, 16:53 »

Очередной порно-баннер пишем?
Записан
andrew.k
Гость
« Ответ #4 : Октябрь 02, 2011, 17:21 »

пробовал grabKeyboard - но всё же я могу переключать окна программы (Alt+Tab). мне нужно только чтобы было это окно.
Если оно будет поверх всех (я использовал флаги Qt::FramelessWindowHint | Qt::Window | Qt::WindowStaysOnTop) то другие приложения не выйдут на передний план. Правда могут получать фокус.
Записан
serega-5508
Гость
« Ответ #5 : Октябрь 02, 2011, 17:26 »

Очередной порно-баннер пишем?

Вообще отморозок что ли?!? не пались, если у самого рука из под стола не вылазит.
Записан
andrew.k
Гость
« Ответ #6 : Октябрь 02, 2011, 17:32 »

Очередной порно-баннер пишем?

Вообще отморозок что ли?!? не пались, если у самого рука из под стола не вылазит.
Ну что ты ведешься на провокацию? Промолчал бы умнее бы выглядел.
Записан
andrew.k
Гость
« Ответ #7 : Октябрь 02, 2011, 17:33 »

Кстати мне тоже интересно как обойти альт+таб.
У меня одно приложение в изолированной среде, поэтому мне достаточно описанного выше подхода.
Записан
serega-5508
Гость
« Ответ #8 : Октябрь 02, 2011, 18:53 »

ну как бы метод grabKeyboard - блокирует ввод клавиатуры, но только текста, ну и, конечно, окно можно закрывать при помощи Atl+F4, а хотелось бы сделать типа такого: вводишь логин, пароль, и окно это исчезает.
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #9 : Октябрь 03, 2011, 07:36 »

Ну, от alt+f4 скорее всего можно избавиться переопределив closeEvent главного окна.
Но через ctrl+alt+delete и диспетчер задач ваш процесс всё равно можно будет прибить.

Как показывают упомянуты выше Даниилом блокировщики-вымогатели СМС обойти это можно, но вряд ли используя документированные api системы.

Это если про Windows говорить.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #10 : Октябрь 03, 2011, 11:19 »

Здравый смысл говорит что в Qt таких средств быть не должно.

На Mac есть "DirectDisplay", можно захватить все или некоторые дисплеи. Но отладчик тоже попадает под удар, поэтому после десятка перезагрузок я эти эксперименты прекратил. Потом заметил что некоторые модули (напр связанные с OpenGL) умеют прорываться к экрану и через эту блокировку.

А написать порно-баннер - работа не хуже других, видео Вам дадут.   
Записан
SASA
Гость
« Ответ #11 : Октябрь 03, 2011, 17:07 »

Делал такое на WIN API. Окошко самого верхнего уровня (типа диспетчера задач) и таймер, который подбрасывает окно. Алт таб работает но не успеваешь ничего сделать твое окошко  вылезает на передний план.

PS Отлаживать такое - ужас. Выход из дебага - рессет:) Поэтому сразу лучше зашить какую-нибудь магическую комбинацию.
Записан
Даниил
Гость
« Ответ #12 : Октябрь 03, 2011, 19:02 »

Выход из дебага - рессет:)
В моя книжку цитат прогеров  Смеющийся
Записан
vertus
Гость
« Ответ #13 : Октябрь 04, 2011, 09:08 »

Нужно кроссплатформенное решение? Есть похожее решение для Linux, возможно сможешь заточить под себя.
Записан
serega-5508
Гость
« Ответ #14 : Октябрь 04, 2011, 14:37 »

vertus, скинь, что есть под Linux, если можешь.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.057 секунд. Запросов: 23.