На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются.
4. Используйте теги [ code=cpp ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Старайтесь формулировать свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной и более давности без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта (C++) user posted image FAQ Форума user posted image Наши Исходники user posted image Поиск по Разделу user posted image MSDN Library Online (Windows Driver Kit) user posted image Google

Ваше мнение о модераторах: user posted image B.V.
Модераторы: B.V.
  
> Захват USB-клавиатуры
    Всем привет!

    Собственно, интересует сабж. Ситуация следующая. Есть устройство, которое винда определяет как устройство ввода "а-ля клавиатура". Все параметры этого устройства в программе просмотра подключенных USB-устройств я вижу.

    Задача следующая: при запуске моей проги, моя прога должна это весь вывод из этого USB-устройства захватить на себя. Иными словами, даже если будет активна другая программа, и будет иметь активный фокус, к примеру блокнот, вывод из указанного выше USB-устройства должен идти в мою программу, которая болтается в фоне.

    Как это сделать?
      Драйвер-фильтр для юсб, пишешь сам.

      Добавлено
      Минимальный манул тут
        Цитата JoeUser @
        Задача следующая: при запуске моей проги, моя прога должна это весь вывод из этого USB-устройства захватить на себя. Иными словами, даже если будет активна другая программа, и будет иметь активный фокус, к примеру блокнот, вывод из указанного выше USB-устройства должен идти в мою программу, которая болтается в фоне.

        Как это сделать?

        Писал бота для рыбалки. Делал именно то, что тебе нужно. Полностью перехватывал указанные устройства ввода вывода, USB клавиатуру/мышь. Конкретно для перехвата юзал библиотеку сторонюю, могу даже проект скинуть если интересно(если найду).
        Юзал вот эту либу(вроде как): http://www.oblita.com/interception.html
        Довольно хорошо себя зарекомендовала. Но чтоб все работала придется и драйвер ставит с этой либой.

        Добавлено
        Либа к слову очень проста в использовании, но нужно представлять как работает клавиатура на низком уровне в системе(всякие там буферы, очереди и остальное) иначе иногда получается трешь :crazy:
        Но в целом с захватом устройства и его релизом проблем не возникает. В общем мне эта либа сразу понравилась, когда я ее поставил и написал тестовую демо версию.
        С помощью нее можно эмулировать нажатия любых клавиш реальной клавиатуры, мыши, или просто прослушка ввода(например можно запретить ввод определенных символов или нажатия определенных клавиш), можно даже изменять ввод. В общем думаю эта хрень решит твои проблемы с запасом.

        Добавлено
        Единственный совет, если будешь юзать ее, сразу в проге ставь условие на клавишу, которая будет релизит захват устройства. В противном случае придется тебе перезагружаться, так как к клавиатуре/мыши(смотря что захватишь) доступа ты больше не получишь, я так на первом этапе лоханулся :D
        Сообщение отредактировано: Wound -
          Wound, супер!!!
          Буду благодарен, если скинешь свой проект.
          Будет и легче разобраться, а возможно и куски использовать.
            Хорошо дома поищу, вечером скину.
              Gonarh, сенкс!
              Гляну обязательно.
              В принципе это тоже интересно, т.к. не хочется чтобы устройство вообще что-то передавало в винду, если моя прога не запущена.
              А тут только драйвер поможет, имхо.
                Бота с рыбалкой не нашел, вернее нашел недоделанный на MFC пример, хотя вроде под консоль был рабочий, видимо он остался на ноуте, а ноуту плохо, из за того что зарядный кабель сломался.
                Но зато нашел подобный пример с крафтом сосок, та же библа используется, автоматически нажимаются клавиши. Архив приаттачиваю.
                Прикреплённый файлПрикреплённый файлinterception_example.zip (4,12 Кбайт, скачиваний: 203)

                Добавлено
                interception.h и interception.lib вместе с dll можешь взять по ссылке выше. Чтоб пример скомпилировался там пути подправить надо будет.
                Смысл работы проги следующий(делался для игры, поэтому сходу можешь не въехать как работает):
                1) Первые два параметра - по сути количество автоматических кликов мышкой(это типа крафт, наводишь мышкой в определенное место и прога за тебя начнет автоматически нажимать Л.Кн. мыши и клавишу на клавиатуре, допустим там 3000 раз), когда крафтишь кончается мана, поэтому через опеределенный промежуток времени нужно нажать кнопку на клавиатуре чтоб выскочило окно с пополнением маны. Поэтому там нажимается клавиша F1. После чего снова автоматом нажимаются клавиши на маусе.
                Досрочное прекращение крафта - клавиша ESC.
                Чтоб начался процесс перехвата - надо задать параметры и нажать клавишу F5, после чего начнется мышкотыкание с кнопконажимательством. Я бы на твоем месте там изменил клавиши на буквенные, и задал фокус в блокнот например. Пример этот не сложный. Думаю разберешься. Если что обращайся подскажу.

                Добавлено
                Ну и естественно нужно установить сам драйвер библиотеки в систему. Иначе ничего работать не будет. Как установить - читай по ссылке на библиотеку выше. Там же есть и примеры + исходники + как поставить.
                Сообщение отредактировано: Wound -
                  Wound, пасип!!!
                  Завтра, если на работе не напрягут, сяду поразбираюсь.
                  Скрытый текст
                  Цитата Wound @
                  пример с крафтом сосок

                  Линейка? :)
                    Скрытый текст
                    Цитата JoeUser @
                    Линейка? :)

                    Ага.
                      Скрытый текст
                      Цитата Wound @
                      Цитата JoeUser @
                      Линейка? :)

                      Ага.

                      Для этого дела - вот высшая тема :lol:
                      Для обхода всяких гардов/фростов используется режим PS/2.
                      А анализ пикселей экрана дает вообще безграничные возможности.
                        Скрытый текст
                        Цитата JoeUser @
                        Для этого дела - вот высшая тема :lol:
                        Для обхода всяких гардов/фростов используется режим PS/2.
                        А анализ пикселей экрана дает вообще безграничные возможности.

                        Это для детей. Может на каких то сервах и работает. На том где я играл - от всех этих кликеров стоит защита, и все, которые я качал - ни один не работал. Пришлось вот самому писать юзая драйвер. Это был единственный способ на сколько я понял.

                        Цитата JoeUser @
                        А анализ пикселей экрана дает вообще безграничные возможности.

                        Ну так у меня бот на рыбалку именно по пикселям и рыбачил.
                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0365 ]   [ 19 queries used ]   [ Generated: 18.04.24, 07:10 GMT ]