Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
Skier78rus |
31.8.2011, 12:51
Сообщение
#1
|
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 13.1.2010 Пользователь №: 1368 Спасибо сказали: 0 раз(а) Репутация: 0
|
Добрый день.
Мне нужно написать приложение, которое по команде от сервера будет выводить во весь экран картинку, и блокировать все действия мыши и клавиатуры. Так как изначально было сказано, что это нужно под винды, то воспользовавшись функциями SetWindowsHookEx и UnhookWindowsHookEx, я сделал то, что требовалось. Но потом выяснилось, что это нужно сделать под nix. Почитав в интернете, я не нашел ничего похожего на команды которые я использовал под винды. Подскажите в какую сторону копать. Так же у меня возник вопрос, как в Qt сделать так, чтобы после запуска приложения, оно не появлялось в taskbar`e, а появлялось в трее( сверху справа там где часы) или вообще нигде не появлялось(чтобы была видна только через команду top). Буду очень благодарен любой информации. |
|
|
|
|
silver47 |
31.8.2011, 13:22
Сообщение
#2
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6
|
Цитата(Skier78rus @ 31.8.2011, 15:51) Link Так как изначально было сказано, что это нужно под винды, то воспользовавшись функциями SetWindowsHookEx и UnhookWindowsHookEx, я сделал то, что требовалось. Но потом выяснилось, что это нужно сделать под nix Логично что winAPI нет под линуксом. Как такое реализовать не представляю. Поставить флаг "поверх всех окон"? Цитата(Skier78rus @ 31.8.2011, 15:51) Link Так же у меня возник вопрос, как в Qt сделать так, чтобы после запуска приложения, оно не появлялось в taskbar`e, а появлялось в трее Есть очень хороший пример в составе Qt - systray кличут. Там многое чего по трею, вплоть до того как вообще запретить закрытие приложения. |
|
|
|
|
Skier78rus |
31.8.2011, 13:39
Сообщение
#3
|
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 13.1.2010 Пользователь №: 1368 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(silver47 @ 31.8.2011, 14:22) Link Логично что winAPI нет под линуксом. Как такое реализовать не представляю. Поставить флаг "поверх всех окон"? Это я прекрасно понимаю Я уже нашел консольные команды такие как: xinput set-int-prop 3 \"Device Enabled\" 8 0 И понял, что их можно запустить через QProcess, что пока у меня не вышло. Цитата(silver47 @ 31.8.2011, 14:22) Link Есть очень хороший пример в составе Qt - systray кличут. Там многое чего по трею, вплоть до того как вообще запретить закрытие приложения. Спасибо, сейчас посмотрю. |
|
|
|
|
silver47 |
31.8.2011, 13:47
Сообщение
#4
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: 6
|
Цитата(Skier78rus @ 31.8.2011, 16:39) Link Я уже нашел консольные команды такие как: xinput set-int-prop 3 \"Device Enabled\" 8 0 И понял, что их можно запустить через QProcess, что пока у меня не вышло. Нужно понимать, что для их работы, наверняка требуются права рута, а ваша программа запускается с правами рядового пользователя. Если с QProcess не работали, то рекомендую начать с малого, например запустить mc. |
|
|
|
|
Skier78rus |
31.8.2011, 15:01
Сообщение
#5
|
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 13.1.2010 Пользователь №: 1368 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(silver47 @ 31.8.2011, 14:47) Link Нужно понимать, что для их работы, наверняка требуются права рута, а ваша программа запускается с правами рядового пользователя. Если с QProcess не работали, то рекомендую начать с малого, например запустить mc. Я сразу проверил их через консоль, они не требуют права рута. Под никсом работаю в основном в mc(если я правильно понял midnight commander). На данный момент уже через QProcess и xinput --list удалось получить список устройств, и определить id мыши. |
|
|
|
|
wiz29 |
31.8.2011, 15:24
Сообщение
#6
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12
|
Link
|
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 13.12.2025, 18:00 |