Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.62
Lifebinder
6 / 6 / 0
Регистрация: 04.10.2009
Сообщений: 100
#1

Память процесса, эмуляция нажатий клавиш - Delphi

11.03.2010, 09:05. Просмотров 3251. Ответов 6
Метки нет (Все метки)

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

2. switch... какой вариант правильный? первый или второй? или вообще как-то по другому?
Delphi
1
2
3
4
5
6
7
switch (var)
begin
  case 1: ....;
  case 2: ....;
  case 3: ....;
  case 4: ....; break;
end;
Delphi
1
2
3
4
5
6
7
switch (var)
begin
  case 1: ....; break;
  case 2: ....; break;
  case 3: ....; break;
  case 4: ....; break;
end;
3. Эмуляция нажатий клавиш в неактивное приложение, будь то буква, цифра, или функциональная клавиша (например shift, enter,...) . Опять же лучше на конкретном примере.

Вот что я делал:
нажатие ескейпа пашет:
Delphi
1
2
SendMessage(wnd,WM_KEYDOWN,VK_ESCAPE,0);
SendMessage(wnd,WM_KEYUP,VK_ESCAPE,1);
а нажатие ентера нет:
Delphi
1
2
SendMessage(wnd,WM_KEYDOWN,VK_RETURN,0);
SendMessage(wnd,WM_KEYUP,VK_RETURN,1);
Добавлено через 7 часов 37 минут
так никто ничем и не поможет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2010, 09:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Память процесса, эмуляция нажатий клавиш (Delphi):

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

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

Эмуляция нажатий клавиш (число или слово из переменной) - Delphi
Привет всем! Есть база данных из которой в переменную выгружаем значения. Вопрос как заставить delphi 7 эмулировать набор этого значения...

Эмуляция нажатий клавиатуры - Delphi
Привет всем. Я только начал изучать делфи7 и хочу написать свою первую программу. Суть такова. Программа состоит из 2 эдитов и из 2 кнопок ...

Считывание и обработка нажатий клавиш - Delphi
Всем привет! Мне нужно написать маленькую программку, которая выполняла бы следующую операцию: необходимо, чтобы при нажатии сочетании...

Подсчет нажатий клавиш на клавиатуре - Delphi
Приветствую. Понадобилось сделать сабж, но дело тут вот в чем. Счетчик должен плюсовать только нажатия "обычных" клавиш (ну т.е. А-Я,...

6
*~<`PIK`>~*
ﻌﺹ ﺦ ﺖﻀ ﺹ ﻙ ﺵﻔ ﺊ ﺘﺝ
606 / 386 / 18
Регистрация: 15.12.2009
Сообщений: 753
11.03.2010, 15:28 #2
имитация нажатия клавиши:
Delphi
1
keybd_event(bVk: Byte; bScan: Byte; dwFlags, dwExtraInfo: DWORD);//клавиатура
или
Delphi
1
mouse_event(dwFlags, dx, dy, dwData, dwExtraInfo: DWORD);//мышь
0
Lifebinder
6 / 6 / 0
Регистрация: 04.10.2009
Сообщений: 100
11.03.2010, 19:19  [ТС] #3
Цитата Сообщение от *~<`PIK`>~* Посмотреть сообщение
имитация нажатия клавиши:
Delphi
1
keybd_event(bVk: Byte; bScan: Byte; dwFlags, dwExtraInfo: DWORD);//клавиатура
или
Delphi
1
mouse_event(dwFlags, dx, dy, dwData, dwExtraInfo: DWORD);//мышь
неа, не то, оно в нактивные окна не посылает
0
EvgeniiSp
146 / 136 / 18
Регистрация: 05.06.2009
Сообщений: 310
11.03.2010, 19:30 #4
Используйте вместо switch оператор case.
Delphi
1
2
3
4
5
case (var) of
1: ...;
2: ...;
else ...;
end;
0
*~<`PIK`>~*
ﻌﺹ ﺦ ﺖﻀ ﺹ ﻙ ﺵﻔ ﺊ ﺘﺝ
606 / 386 / 18
Регистрация: 15.12.2009
Сообщений: 753
11.03.2010, 21:29 #5
Цитата Сообщение от Lifebinder Посмотреть сообщение
неа, не то, оно в нактивные окна не посылает
ну так сделай окно активным и посылай=))

Добавлено через 1 минуту
и вообще это не нажатие кнопки в определенном окне а обычное нажатие. Чтобы нажать кнопку в нужном тебе окне нужно его сделать активным
0
Lifebinder
6 / 6 / 0
Регистрация: 04.10.2009
Сообщений: 100
12.03.2010, 21:48  [ТС] #6
нет.. поверь я посылал нажатие кнопок в неактивное окно)
только вот сейчас я не могу послать ни одной кнопки, кроме ескейпа, и меня это раздражает

EvgeniiSp пасиба

Добавлено через 23 часа 7 минут
все.. решилось все..
0
Likelihood
28.11.2011, 22:32 #7
Цитата Сообщение от Lifebinder Посмотреть сообщение
все.. решилось все..
Пожалуйста, опиши решение своей проблемы, чтоб не создавать новой темы.

Мой вариант кода (нажимает только в активном окне, в неактивном не хочет):
Delphi
1
2
3
4
5
6
7
8
  fgHWND := GetForegroundWindow();
  if fgHWND <> wkHWND then begin
    SendMessage(wkHWND, WM_KEYDOWN, VKey, 0);
    SendMessage(wkHWND, WM_KEYUP, VKey, 1);
  end else begin
    keybd_event(VKey, 0, 0, 0);
    keybd_event(VKey, 0, KEYEVENTF_KEYUP, 0);
  end;
28.11.2011, 22:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2011, 22:32
Привет! Вот еще темы с ответами:

Имитация нажатий клавиш клавиатуры - Delphi
Как соорудить программу, чтобы по нажатию ранее назначеной клавише происходила имитация нажатия некоторой комбинации клавиш. Пример: я...

Эмуляция нажатия клавиш - Delphi
Всем привет! Помогите написать простенькую программу. Что должна делать? Вводим число в Edit (в секндах) должно использоваться через...

Эмуляция нажатия клавиш - Delphi
помогите с кодом разобраться, не работает( Var PWD, Login : String; procedure PressingKeyboard(Key: byte; extra:...

Эмуляция хитрых клавиш. - Delphi
Как эмулировать нажатие таких клавиш, как ':', '&gt;', '&lt;', ' &quot; ', &quot;?&quot; ? Заранее спасибо!


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru