crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Qt блокировка мыши и клавиатуры
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
wiz29 Дата 31.8.2011, 15:24
  смотреть тут пример system tray
Skier78rus Дата 31.8.2011, 15:01
 
Цитата(silver47 @ 31.8.2011, 14:47) *
Нужно понимать, что для их работы, наверняка требуются права рута, а ваша программа запускается с правами рядового пользователя. Если с QProcess не работали, то рекомендую начать с малого, например запустить mc.



Я сразу проверил их через консоль, они не требуют права рута. Под никсом работаю в основном в mc(если я правильно понял midnight commander).

На данный момент уже через QProcess и xinput --list удалось получить список устройств, и определить id мыши.

silver47 Дата 31.8.2011, 13:47
 
Цитата(Skier78rus @ 31.8.2011, 16:39) *
Я уже нашел консольные команды такие как:
xinput set-int-prop 3 \"Device Enabled\" 8 0
И понял, что их можно запустить через QProcess, что пока у меня не вышло.


Нужно понимать, что для их работы, наверняка требуются права рута, а ваша программа запускается с правами рядового пользователя. Если с QProcess не работали, то рекомендую начать с малого, например запустить mc.
Skier78rus Дата 31.8.2011, 13:39
 
Цитата(silver47 @ 31.8.2011, 14:22) *
Логично что winAPI нет под линуксом. Как такое реализовать не представляю. Поставить флаг "поверх всех окон"?


Это я прекрасно понимаю 8)

Я уже нашел консольные команды такие как:

xinput set-int-prop 3 \"Device Enabled\" 8 0

И понял, что их можно запустить через QProcess, что пока у меня не вышло.

Цитата(silver47 @ 31.8.2011, 14:22) *
Есть очень хороший пример в составе Qt - systray кличут. Там многое чего по трею, вплоть до того как вообще запретить закрытие приложения.


Спасибо, сейчас посмотрю.
silver47 Дата 31.8.2011, 13:22
 
Цитата(Skier78rus @ 31.8.2011, 15:51) *
Так как изначально было сказано, что это нужно под винды, то воспользовавшись функциями SetWindowsHookEx и UnhookWindowsHookEx, я сделал то, что требовалось.
Но потом выяснилось, что это нужно сделать под nix

Логично что winAPI нет под линуксом. Как такое реализовать не представляю. Поставить флаг "поверх всех окон"?

Цитата(Skier78rus @ 31.8.2011, 15:51) *
Так же у меня возник вопрос, как в Qt сделать так, чтобы после запуска приложения, оно не появлялось в taskbar`e, а появлялось в трее

Есть очень хороший пример в составе Qt - systray кличут. Там многое чего по трею, вплоть до того как вообще запретить закрытие приложения.
Skier78rus Дата 31.8.2011, 12:51
  Добрый день.

Мне нужно написать приложение, которое по команде от сервера будет выводить во весь экран картинку, и блокировать все действия мыши и клавиатуры.


Так как изначально было сказано, что это нужно под винды, то воспользовавшись функциями SetWindowsHookEx и UnhookWindowsHookEx, я сделал то, что требовалось.

Но потом выяснилось, что это нужно сделать под nix. Почитав в интернете, я не нашел ничего похожего на команды которые я использовал под винды.


Подскажите в какую сторону копать.

Так же у меня возник вопрос, как в Qt сделать так, чтобы после запуска приложения, оно не появлялось в taskbar`e, а появлялось в трее( сверху справа там где часы) или вообще нигде не появлялось(чтобы была видна только через команду top).



Буду очень благодарен любой информации.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 0:40