Автор Тема: эмуляция нажатия клавиш  (Прочитано 6146 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн skaaater [?]

  • Новичок
  • *
  • Сообщений: 4
  • Репутация: 0
    • Награды
эмуляция нажатия клавиш
« Создано: Сентябрь 02, 2012, 19:09:07 »
Добрый день. Такая проблема, хочу написать программу, чтобы при попадании в центр экрана определенного цвета, автоматический нажимались клавиши :
Цитировать
1.Правая кнопка мыши
 Задержка 20 мсек
 2.Левая кнопка мыши
 Задержка 20 мсек
 3.Цифра "3" (верхняя цифр. клавиатура)
 Задержка 20 мсек
 4.Цифра "1" (верхняя цифр. клавиатура)

Уже запутался в этих клавишах, не подскажете как написать (доработать) код?

Вот сам код (помечено куда нужно вставить)


(нажмите для показа/скрытия)
« Последнее редактирование: Сентябрь 06, 2012, 17:26:35 от skaaater »

Оффлайн Belfigor [?]

  • Локальный модератор
  • *
  • Сообщений: 3084
  • Репутация: 911
    • Награды
Re: эмуляция нажатия клавиш
« Ответ #1, Отправлен: Сентябрь 02, 2012, 19:22:32 »
Код: AutoIt [Выделить]
Любые темы внутри раздела "Разработка ботов" не названные в соответствии с правилами раздела, будут закрываться.
Любой ответ, любого пользователя в теме с предупреждением, направленный на решение вопроса, произведенный до того как предупреждение было исправлено, приведет к закрытию темы и удалению всего что было после предупреждения.

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 6387
  • Репутация: 2174
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: эмуляция нажатия клавиш
« Ответ #2, Отправлен: Сентябрь 02, 2012, 20:26:52 »
skaaater,
ПредупреждениеЗа нарушение правил форума (пункт В.11):
Цитировать
Любые отрывки AutoIt кода необходимо заключать в тег [autoit] (подробнее), а обычный код соответственно в тег [code] (подробнее). Также большие выдержки текста помещайте под тег [spoiler] (подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Модератор.

Оффлайн skaaater [?]

  • Новичок
  • *
  • Сообщений: 4

  • Автор темы
  • Репутация: 0
    • Награды
Re: эмуляция нажатия клавиш
« Ответ #3, Отправлен: Сентябрь 02, 2012, 21:32:32 »
Belfigor, можно по подробней?

Оффлайн Belfigor [?]

  • Локальный модератор
  • *
  • Сообщений: 3084
  • Репутация: 911
    • Награды
Re: эмуляция нажатия клавиш
« Ответ #4, Отправлен: Сентябрь 02, 2012, 21:37:13 »
А нажать на "Send" и получить русскоязычную справку по команде нэ?

Оффлайн _ToBe_ [?]

  • Осваивающий
  • **
  • Сообщений: 142
  • Репутация: 34
    • Награды
Re: эмуляция нажатия клавиш
« Ответ #5, Отправлен: Сентябрь 02, 2012, 21:40:02 »
Белфигор сегодня злой  :D

А по теме:
Код: AutoIt [Выделить]
$pos = PixelSearch ( $left, $top, $right, $bottom, $color)  
If Not @error Then
 MouseClick("right", $x, $y)
 sleep(20)
 MouseClick("left", $x, $y)
 sleep(20)
 Send("{3}")
 sleep(20)
 Send("{1}")
 Sleep(20)
Else
 Tooltip("Ждём точку")
endif


Оффлайн skaaater [?]

  • Новичок
  • *
  • Сообщений: 4

  • Автор темы
  • Репутация: 0
    • Награды
Re: эмуляция нажатия клавиш
« Ответ #6, Отправлен: Сентябрь 02, 2012, 23:37:09 »
_ToBe_. Спасибо, только одно но, клики мыши работают, а нажатия с клавиатуры нет. В этом то и была проблемма

Оффлайн _ToBe_ [?]

  • Осваивающий
  • **
  • Сообщений: 142
  • Репутация: 34
    • Награды
Re: эмуляция нажатия клавиш
« Ответ #7, Отправлен: Сентябрь 03, 2012, 00:03:16 »
Проверь если
Код: AutoIt [Выделить]
Send("{3}")

работает, к примеру в блокноте... Если работает, тогда мне единственное что приходит в голову - это тайминги... Т.е. после нажатия ПКМ, потом ЛКМ, наверно появляется какое-то окошко или менюшка, куда надо ввести цифры... Так вот Автоит это делает раньше, чем нужно  :D Попробуй увеличь задержку между отправкой не на 20мс, а на 200мс - 2 сек.

Оффлайн Andrei7 [?]

  • Новичок
  • *
  • Сообщений: 72
  • Репутация: 3
    • Награды
Re: эмуляция нажатия клавиш
« Ответ #8, Отправлен: Сентябрь 03, 2012, 00:36:15 »
Цитировать
Попробуй увеличь задержку между отправкой не на 20мс, а на 200мс - 2 сек.
а может правильней было бы ждать появление нужного окна и потом уже кликать?

Оффлайн _ToBe_ [?]

  • Осваивающий
  • **
  • Сообщений: 142
  • Репутация: 34
    • Награды
Re: эмуляция нажатия клавиш
« Ответ #9, Отправлен: Сентябрь 03, 2012, 00:49:26 »
Andrei7
Тоже верно, но кто знает что там у него происходит после Действий мыши? Может окно вообще сворачивается  :D

В любом случае - надо дождаться, когда закончится действие мыши, появится какой-то результат, и в него уже отсылать цифры  ;D

Оффлайн skaaater [?]

  • Новичок
  • *
  • Сообщений: 4

  • Автор темы
  • Репутация: 0
    • Награды
Re: эмуляция нажатия клавиш
« Ответ #10, Отправлен: Сентябрь 03, 2012, 14:00:05 »
_ToBe_, нет дело не в задержке, может быть нажатие происходит на "боковой" клавиатуре? Мне нужно чтобы нажатие происходило на верхней цифровой клавиатуре.



А по поводу для чего он нужен. Есть игра, с помощью этой программы будет происхдить так называемый "фаст зум"(Снайперская винтовка). Принцип прост: входим в зум(пкм) - делаем выстрел(лкм) - берем нож(3) - берем AWM(1) и все это очень быстро.

Оффлайн _ToBe_ [?]

  • Осваивающий
  • **
  • Сообщений: 142
  • Репутация: 34
    • Награды
Re: эмуляция нажатия клавиш
« Ответ #11, Отправлен: Сентябрь 03, 2012, 17:45:03 »
Код: AutoIt [Выделить]
Send("{3}")


- это как раз таки верхние цифры... Ибо боковые пишутся так:
Код: AutoIt [Выделить]
Send("{NUMPAD3}")


Оффлайн Biforz [?]

  • Новичок
  • *
  • Сообщений: 19
  • Репутация: 0
  • Пол: Мужской
    • Награды
Re: эмуляция нажатия клавиш
« Ответ #12, Отправлен: Сентябрь 16, 2012, 11:16:35 »
Клавиши ты не сможешь просто так реализовать!
Так как в игре "Crossfire" стоит защита X-trap, которая блокирует твои действия. Нужно переписывать библиотеки, которые прилогались в комплекте к твоему файлу...

 

Похожие темы

  Тема / Автор Ответов Последний ответ
1 Ответов
3871 Просмотров
Последний ответ Апрель 10, 2010, 23:38:59
от CreatoR
0 Ответов
3883 Просмотров
Последний ответ Сентябрь 25, 2010, 11:58:19
от clerictgm
2 Ответов
2833 Просмотров
Последний ответ Январь 21, 2011, 14:00:28
от Suppir
1 Ответов
2421 Просмотров
Последний ответ Сентябрь 23, 2011, 23:26:55
от Kaster
7 Ответов
3186 Просмотров
Последний ответ Сентябрь 24, 2011, 20:42:27
от Alex300
1 Ответов
2776 Просмотров
Последний ответ Ноябрь 24, 2011, 03:02:12
от AlexxxRu
0 Ответов
1861 Просмотров
Последний ответ Декабрь 20, 2011, 15:17:37
от madmasles
12 Ответов
3242 Просмотров
Последний ответ Июнь 25, 2012, 11:00:04
от InnI
3 Ответов
2669 Просмотров
Последний ответ Май 31, 2013, 22:09:04
от Kaster
0 Ответов
239 Просмотров
Последний ответ Апрель 25, 2014, 09:04:34
от madmasles