Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 25.12.2015
Сообщений: 3
1

Эмуляция нажатий клавиш (число или слово из переменной)

12.02.2016, 12:17. Показов 3136. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем!
Есть база данных из которой в переменную выгружаем значения. Вопрос как заставить delphi 7 эмулировать набор этого значения на клавиатуре?

Как сэмулировать нажатие клавиш я понял, а вот как заставить печатать нужные значение из переменной нет.

Помогите кто чем может))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2016, 12:17
Ответы с готовыми решениями:

KeyStuff или эмуляция нажатий клавиш
Программа для DOS. По сути программа должна выводить(вводить) в командной строке...

Эмуляция нажатий клавиш или автоматический ввод информации
Добрый день. Мне необходимо чтобы в определенную форму ввелся пароль. Форма является изначально...

Эмуляция нажатий клавиш
У меня есть залогированы клавиши в блокноте в таком виде(много): Как мне заставить их из...

Эмуляция нажатий клавиш клавиатуры
Посоветуйте, как можно реализовать управление программой (которая управляется с клавиатуры...

8
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
12.02.2016, 12:28 2
Delphi
1
2
3
4
 Key:=Код клавиши.
 State:=состояние Шифт-Ктрл-Альт
  scan:=MapVirtualKeyEx(Key,0,GetKeyboardLayout(0));
  keybd_event(key,scan,KEYEVENTF_EXTENDEDKEY or State,0);
По крайней мере так сделано у меня.
0
0 / 0 / 0
Регистрация: 25.12.2015
Сообщений: 3
12.02.2016, 13:11  [ТС] 3
Как клавишу "нажать" я знаю. Не знаю как текст из переменной туда слить...
0
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
12.02.2016, 13:26 4
Цитата Сообщение от andrbest Посмотреть сообщение
Не знаю как текст из переменной туда слить...
Key:=Код клавиши.
Если строка - то в цикле Key:=ord(Строка[итератор цикла]).
0
Житель Земли
3003 / 3008 / 391
Регистрация: 26.07.2011
Сообщений: 11,464
Записей в блоге: 1
12.02.2016, 13:54 5
Hikari, есть коды клавиш - это одно, а текст в переменной, типа "привет, Мир", никакого отношения к кодам не имеет, т.е. код символа "п" не является кодом клавиши, на которой нарисована буква "п"
0
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
12.02.2016, 14:13 6
Цитата Сообщение от DenNik Посмотреть сообщение
код символа "п" не является кодом клавиши, на которой нарисована буква "п"
Так на то и получение сканкода...
Ладно. проехали... Предложи свой способ, раз мой не нравится.
Меня пока что он не подводил.
0
Житель Земли
3003 / 3008 / 391
Регистрация: 26.07.2011
Сообщений: 11,464
Записей в блоге: 1
12.02.2016, 14:20 7
Цитата Сообщение от Hikari Посмотреть сообщение
Так на то и получение сканкода...
вот именно это и нужно, а не
Цитата Сообщение от Hikari Посмотреть сообщение
Key:=ord(Строка[итератор цикла]).
операция ord(Строка[итератор цикла]) возвратит код СИМВОЛА, который является элементом массива СТРОКА. этим элементом может быть "S", а может быть "Ы", и код в Key будет разным, но никак не сканкод клавиши, на которой нарисованы эти символы.

еще раз: я говорю о том, что алгоритм
Цитата Сообщение от Hikari Посмотреть сообщение
Key:=Код клавиши.
Если строка - то в цикле Key:=ord(Строка[итератор цикла]).
никоим образом не возвратит сканкод клавиши, который нужно подставлять
в код программного нажатия клавиш
0
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
12.02.2016, 15:59 8
Цитата Сообщение от DenNik Посмотреть сообщение
еще раз: я говорю о том, что алгоритм
Все с тобой понятно...
0
0 / 0 / 0
Регистрация: 25.12.2015
Сообщений: 3
13.02.2016, 10:12  [ТС] 9
В общем проблема решилась так:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure SendKeysAndEnter(Buffer : String);
var i : integer;
    w : word;
begin
   for i:=1 to length(Buffer) do
  begin
    w:=VkKeyScan(buffer[i]);
    keybd_event(w,0,0,0);
    keybd_event(w,0,KEYEVENTF_KEYUP,0);
  end;
   end;
 
procedure TForm1.DBEdit1Change(Sender: TObject);
begin
      SendKeysAndEnter(DBEdit1.Text);
end;
0
13.02.2016, 10:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2016, 10:12
Помогаю со студенческими работами здесь

Эмуляция нажатий Медиа клавиш клавиатуры
Добрый день. Написал небольшое клиент серверное приложение на сокетах, в котором сервер...

Эмуляция нажатий клавиш в браузерную строку.
Подскажите пожалуйста, как можно эмулировать нажатия клавиш в браузерную строку, если я знаю хендл...

Память процесса, эмуляция нажатий клавиш
1. Дайте плиз кто-нибудь пример или исходник с использованием ReadProcessMemory и...

Обработка нажатий клавиш или событий?
В Лотусе при наборе фамилии в новой записке и нажатии Enter, вываливает сразу первая попавшаяся...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru