|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.03.2007, 23:50 | #1 |
Регистрация: 14.03.2007
Сообщений: 6
|
Как программно нажать Ctrl + V
Сабж...
Delphi 5, Win XP |
15.03.2007, 01:27 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Ну, например, так (правда, это не ВинАпи):
procedure TForm1.Button2Click(Sender: TObject); var kkk: word; begin //посылаем CTRL+V kkk:=Ord('V'); FormKeyDown(Form1,kkk,[ssCTRL]); end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin //контролируем визуально if Shift=[ssCTRL] then Label2.Caption:='CTRL'+Chr(Key) else Label2.Caption:=Chr(Key); end; Не забудьте указать в свойствах формы KeyPreView:=True; А ВинАпи - это keybd_event... Последний раз редактировалось mihali4; 15.03.2007 в 01:40. |
02.04.2007, 18:06 | #3 |
Heavy metal
Пользователь
Регистрация: 02.04.2007
Сообщений: 42
|
Лучше всего вот так:
... keybd_event(VK_CONTROL, 0, 0, 0); keybd_event(Ord('V'), 0, 0, 0); keybd_event(Ord('V'), 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); ... |
02.04.2007, 18:14 | #4 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
А использовать буфер обмена windows не проще? имитировать вставку из буфера путем нажатия клавиш дико.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
02.04.2007, 20:23 | #5 |
Студент
Форумчанин
Регистрация: 10.11.2006
Сообщений: 196
|
To Квенди: Проще... но если человеку захотелось?
To ffo: Помнится мне, что в Delphi (Bin\Source) был модуль SendKeys32 (или sendkey32) там с хорошими комментариями подробно показано как послать любое сочетание клавиш всем окнам вообще...
Visita Interiorem Terrae Rectificando Operae Lapidem...
|
30.04.2007, 16:30 | #6 |
Пользователь
Регистрация: 14.04.2007
Сообщений: 28
|
Господа, а где можно почитать о параметрах функции
Код:
А как нажать программно Tab и Esc, не понимаю... |
01.05.2007, 10:12 | #7 |
Студент
Форумчанин
Регистрация: 10.11.2006
Сообщений: 196
|
keybd_event(VK_TAB, 0, 0, 0);
keybd_event(VK_ESCAPE, 0, 0, 0); keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_ESCAPE, 0, KEYEVENTF_KEYUP, 0);
Visita Interiorem Terrae Rectificando Operae Lapidem...
|
02.07.2007, 10:07 | #8 |
Форумчанин
Регистрация: 28.06.2007
Сообщений: 123
|
А как копировать в буфер обмена переменную?
|
02.07.2007, 22:31 | #9 |
Пользователь
Регистрация: 02.07.2007
Сообщений: 23
|
Работа с буфером в Delphi
Самый простой способ:
Код:
Вот статья по работе с буфером: http://articles.org.ru/cfaq/index.ph...mostrecent=yes
Проекты для лучших программистов http://www.netlancer.ru
|
29.07.2007, 16:05 | #10 |
Регистрация: 28.07.2007
Сообщений: 6
|
Подскажите, пожалуйсита, как программно нажимать кнопки и перемещать курсор в ДРУГОМ приложении.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно программно найти окно программы и нажать на нем кнопку | SeRыЙ | Win Api | 23 | 09.03.2010 08:00 |
alt+ctrl+del | ben95 | Общие вопросы Delphi | 36 | 03.01.2009 16:28 |
Программно нажать кнопку | DeDoK | Общие вопросы Delphi | 2 | 04.05.2008 21:46 |
Как программно нажать клавишу в чужом процессе? | Sere0ga | Win Api | 2 | 27.03.2007 18:43 |