Эмитация нажатия клавиш на клавиатуре

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Alp
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 08.08.2011 (Пн) 10:40

Эмитация нажатия клавиш на клавиатуре

Сообщение Alp » 01.11.2011 (Вт) 4:44

Данный код надо будет вставить в программу, которая управляет другой программой, кликает в другой программе в поле ввода и вводит текст.
Платформа Винда 7 64х
Скиньте ссылку на пример эмуляции нажатия клавиш в ВБ6.
Функции SendKeys, SendInput и keybd_event не работают.
Последний раз редактировалось Alp 01.11.2011 (Вт) 4:50, всего редактировалось 2 раз(а).

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Эмитация нажатия клавиш на клавиатуре

Сообщение Хакер » 01.11.2011 (Вт) 4:46

А теперь потрудись и исправь кучу ошибок в своём посте.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Alp
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 08.08.2011 (Пн) 10:40

Re: Эмитация нажатия клавиш на клавиатуре

Сообщение Alp » 01.11.2011 (Вт) 4:49

Ой только запятую не поставил, и все.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Эмитация нажатия клавиш на клавиатуре

Сообщение Хакер » 01.11.2011 (Вт) 5:02

Да ладно. Нет такой платформы — 64x. И нет такого слова — эмитация.
Код с твоими попытками через упомянутые функции — в студию.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Alp
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 08.08.2011 (Пн) 10:40

Re: Эмитация нажатия клавиш на клавиатуре

Сообщение Alp » 01.11.2011 (Вт) 5:11

64х это 64х битная винда. Есть два типа 32х и 64х битные.
SendKeys и keybd_event перестало работать еще в Висте. (я про ВБ6 в ВБ.Нет SendKeys то работает)

Alp
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 08.08.2011 (Пн) 10:40

Re: Эмитация нажатия клавиш на клавиатуре

Сообщение Alp » 01.11.2011 (Вт) 5:15

А про SendInput не смог найти внятно примера. Точнее проблема с первым параметром.
SendInput VK_A, INPUT_TYPE_m, Len(INPUT_TYPE_m)
SendInput начинает творить странные вещи кликает куда попало окна сворачивает.

Alp
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 08.08.2011 (Пн) 10:40

Re: Эмитация нажатия клавиш на клавиатуре

Сообщение Alp » 01.11.2011 (Вт) 7:07

Всем спасибо. разобрался

VBTerminator
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 415
Зарегистрирован: 19.11.2008 (Ср) 20:10

Re: Эмитация нажатия клавиш на клавиатуре

Сообщение VBTerminator » 03.11.2011 (Чт) 14:56

Alp писал(а):64х это 64х битная винда.

64x нету. Есть x64.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Эмитация нажатия клавиш на клавиатуре

Сообщение Хакер » 03.11.2011 (Чт) 16:44

VBTerminator писал(а):64x нету. Есть x64.

А у него там буква «Хэ», а не «Икс», на самом деле. Он так обозначает «ырёх».
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Эмитация нажатия клавиш на клавиатуре

Сообщение ger_kar » 03.11.2011 (Чт) 19:26

Хакер писал(а):А у него там буква «Хэ», а не «Икс», на самом деле.
А какая разница, восприятие от этого не страдает, разве что на машинном поиске отразиться и все ;)
Alp писал(а):Скиньте ссылку на пример эмуляции нажатия клавиш в ВБ6.Функции SendKeys, SendInput и keybd_event не работают.
Не знаю работают эти функции с семерке или нет не проверял, но вообще даже если и работают, то использовать их следует только в крайнем случае.
Лучше посылать сообщения непосредственно нужному контролу. Но если не охота возиться с WinAPI, то как вариант можно заюзать ActiveX Autoit Script, который можно скачать здесь и который абсолютно бесплатный. И даже русский Help есть.
Бороться и искать, найти и перепрятать

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Эмитация нажатия клавиш на клавиатуре

Сообщение iGrok » 03.11.2011 (Чт) 20:22

ger_kar писал(а):А какая разница, восприятие от этого не страдает

Зато смысл меняется. Либо "икс-шестьдесят-четыре" либо "шестидесятичетырёх-".
Без "битная" второй вариант не имеет смысла, хотя в целом и понятно, о чём идёт речь.
label:
cli
jmp label

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Эмитация нажатия клавиш на клавиатуре

Сообщение ger_kar » 03.11.2011 (Чт) 20:28

iGrok писал(а):Зато смысл меняется. Либо "икс-шестьдесят-четыре" либо "шестидесятичетырёх-".Без "битная" второй вариант не имеет смысла, хотя в целом и понятно, о чём идёт речь.
С этим я согласен, но я собственно другое имел ввиду х64 и x64 (в первом варианте русская х, во втором латинская x)
Бороться и искать, найти и перепрятать


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33

    TopList  
cron