RegisterHotKey, платформозависимый код |
Здравствуйте, гость ( Вход | Регистрация )
RegisterHotKey, платформозависимый код |
jim1406 |
29.4.2009, 8:59
Сообщение
#1
|
Студент Группа: Участник Сообщений: 27 Регистрация: 17.3.2009 Пользователь №: 618 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток!
Нужно перехватить глобальное клавиатурное сочетание в Windows. Подскажите, как это сделать? (без сторонней библиотеки). Qt 4.5 |
|
|
kwisp |
29.4.2009, 10:30
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
jim1406,
что пробовал делать для того чтобы перхватывать? QWidget::winEvent(MSG*,long*)[virtual protected] -- смотрел? |
|
|
sploid |
29.4.2009, 11:06
Сообщение
#3
|
Студент Группа: Участник Сообщений: 51 Регистрация: 26.2.2008 Из: Москва Пользователь №: 106 Спасибо сказали: 10 раз(а) Репутация: 1 |
|
|
|
Litkevich Yuriy |
29.4.2009, 12:11
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
jim1406, может просто подсмотреть как это делается в том же libqxt?
|
|
|
jim1406 |
30.4.2009, 4:45
Сообщение
#5
|
Студент Группа: Участник Сообщений: 27 Регистрация: 17.3.2009 Пользователь №: 618 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
jim1406 |
30.4.2009, 8:33
Сообщение
#6
|
Студент Группа: Участник Сообщений: 27 Регистрация: 17.3.2009 Пользователь №: 618 Спасибо сказали: 0 раз(а) Репутация: 0 |
Попытался использовать эту библиотеку... Скачал версию 5, Qt у меня 4.5 (Qt Creator 1.0.0), ОС Windows. Распаковал в C:\libqxt . Дальше сделал qmake libqxt.pro. Запустил configure.bat. Запустил make install. Скопировал C:\libqxt\deploy\qt\qxt.prf в C:\Qt\2009.01\qt\mkspecs\features (This will also install qxt.prf to your qtdir/mkspecs/features directory - вручную). В проекте дорисовал
Итог при компиляции... collect 2: ld returned 1 exit status Если qxt не использовать (только инклюд прописать), то лечится
Я так понимаю, что не правильно собрал... Где накосячил-то?! |
|
|
kwisp |
30.4.2009, 8:48
Сообщение
#7
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Скачал версию 5, Qt у меня 4.5 (Qt Creator 1.0.0), ОС Windows. Распаковал в C:\libqxt . Дальше сделал qmake libqxt.pro. Запустил configure.bat. Запустил make install. а чему ты сделал make install ? обычно make -- собирает make install -- копирует, переносит то что ты уже собрал. или в этом случае по другому? Да, только не понял тип MSG... смотри MSDN -- больше выхода нет. только конечно я не уверен что этот метод все сообщения получает однако где то я читал что можно даже перхватить сигнал выключения компьютера и прервать сие действие. кстати а не пробовал просто метод event(QEvent*) не получает ли совершенно случайно то событие которое тебя интересует? Сообщение отредактировал kwisp - 30.4.2009, 8:49 |
|
|
jim1406 |
30.4.2009, 9:34
Сообщение
#8
|
Студент Группа: Участник Сообщений: 27 Регистрация: 17.3.2009 Пользователь №: 618 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата а чему ты сделал make install ? обычно make -- собирает make install -- копирует, переносит то что ты уже собрал. или в этом случае по другому? сначала make, потом make install... а инсталл вот откуда взялся Цитата смотри MSDN -- больше выхода нет. только конечно я не уверен что этот метод все сообщения получает однако где то я читал что можно даже перхватить сигнал выключения компьютера и прервать сие действие. кстати а не пробовал просто метод event(QEvent*) не получает ли совершенно случайно то событие которое тебя интересует? и смотрел и пробовал... event пробовал - событие не ловилось, у меня по крайней мере не получилось. Можно, в принципе, код указанной библиотеки глянуть, как советовали, но... ...Вообще, с библиотекой даже лучше, вот только б руки мне кто выпрямил ))) . jim1406, может просто подсмотреть как это делается в том же libqxt? Посмотрел, спасибо - красиво делают А правильно собрать библиотеку не поможешь? Сообщение отредактировал jim1406 - 30.4.2009, 11:24 |
|
|
DmP |
30.4.2009, 10:45
Сообщение
#9
|
Студент Группа: Участник Сообщений: 61 Регистрация: 11.3.2008 Пользователь №: 116 Спасибо сказали: 15 раз(а) Репутация: 2 |
Вот сделано на основе libqxt, может не очень красиво но работает:
|
|
|
jim1406 |
30.4.2009, 11:04
Сообщение
#10
|
Студент Группа: Участник Сообщений: 27 Регистрация: 17.3.2009 Пользователь №: 618 Спасибо сказали: 0 раз(а) Репутация: 0 |
Вот сделано на основе libqxt, может не очень красиво но работает:
а я windows.h подключал, похоже поэтому и WM_HOTKEY, и MSG оставались "не знакомыми"... спасибо! насчет сборки qxt... похоже победил, установив все (qt sdk, qxt) с нуля. Правда теперь Runtime Error на этапе
Сообщение отредактировал jim1406 - 30.4.2009, 11:42 |
|
|
Текстовая версия | Сейчас: 3.1.2025, 3:02 |