![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как послать нажатия клавишь другому приложению !? [D6, WinXP]
Delpher_Gray © (2003-03-20 19:45:00)Дарова Делферы !!
Подскажите, как можно послать нажатия клавишь другому приложению !?
Я пробовал что-то вроде:
SendMessage(FindWindow(nil, "Безымянный - Блокнот"), WM_KEYDOWN, 65, nil);
Но это не работает =(
Заранее благодарен !!
---------------------------
www.delphi.vov.ru - Delphi для всех !
Delpher_Gray (2003-03-23 17:48:00) [1]Понял =)
Пасибки !
---------------------------
www.delphi.vov.ru - Delphi для всех !
Song (2003-03-23 15:37:00) [2]Конечно.
Только Wnd нужно правильный иметь.
Delpher_Gray (2003-03-23 15:01:00) [3]2Song !
Значет SendMessage(Wnd, WM_CHAR, 65, 0); - будет работать !?!
---------------------------
www.delphi.vov.ru - Delphi для всех !
Delpher_Gray (2003-03-23 15:01:00) [4]2Song !
Значет SendMessage(Wnd, WM_CHAR, 65, 0); - будет работать !?!
delpher_gray (2003-03-23 15:00:00) [5]Snap !
Это я знаю =)
Я хочу научиться посылать сообщения =)
---------------------------
www.delphi.vov.ru - Delphi для всех !
Snap (2003-03-22 12:43:00) [6]Если тебя интересует не имено послание сообщения, а ввод символа в блокнот, можно просто активизировать блокнот, послать символы через keybd_event, и деактивизировать блокнот. :)))). Способ немного извращенский, но работает.
Song (2003-03-22 12:39:00) [7]WM_KEYDOWN посылает не символ, а нажатие. Вам же надо послать смивол с кодом 65. Для этого используйте WM_CHAR.
Delpher_Gray (2003-03-22 12:33:00) [8]Компонент SendKeys устроен совсем не так !!
Он просто эмитирует нажатия клавиши !!
А мне нужно полать !! SendMessage !!
Севостьянов Игорь (2003-03-21 15:20:00) [9]
> Apollo © (21.03.03 12:25)
Вообще то в поставку Делфи входит "\Install\Delphi5\Info\Extras\SendKeys\SNDKEY32.PAS"
SendKeys routine for 32-bit Delphi.
Written by Ken Henderson
Copyright (c) 1995 Ken Henderson email:khen@compuserve.com
This unit includes two routines that simulate popular Visual Basic
routines: Sendkeys and AppActivate. SendKeys takes a PChar
as its first parameter and a boolean as its second, like so:
SendKeys("KeyString", Wait);
where KeyString is a string of key names and modifiers that you want
to send to the current input focus and Wait is a boolean variable or value
that indicates whether SendKeys should wait for each key message to be
processed before proceeding. See the table below for more information.
AppActivate also takes a PChar as its only parameter, like so:
AppActivate("WindowName");
where WindowName is the name of the window that you want to make the
current input focus.
SendKeys supports the Visual Basic SendKeys syntax, as documented below.
Вот там для Windows приложений работает
Aleksey_sv (2003-03-21 13:36:00) [10]Попробуй
hcw:=FindWindowEx(hw,0,"tbutton",nil);
sendmessage(hcw,BM_CLICK,0,0);
Apollo (2003-03-21 12:25:00) [11]http://www.torry.net/vcl/system/keys/sendkeys.zip Компонет (с исходниками)который это делает. Freeware. Только он для DOS-приложений не все клавиши нажимает (в частности курсор)
Polevi (2003-03-21 09:31:00) [12]есть потоки ввода-вывода
Apollo (2003-03-21 09:27:00) [13]Удалено модератором
Примечание: Задай СВОЙ вопрос в отдельной ветке
MBo (2003-03-21 09:05:00) [14]а хелп не пробовал смотреть на WM_KEYDOWN?
Delpher_Gray (2003-03-21 08:58:00) [15]Неа =(
Не получилось =(
Я посылал в TEdit что-то, но там ничего не отобразилось =(
SendMessage(Wnd, WM_KEYDOWN,а чё писать дальше, незнаю =(
Delpher_Gray (2003-03-21 08:32:00) [16]2Song !
Пасибки !!
Щас посмотрю, как в открывалке звёздочек в строке с паролем сделали !!
Song (2003-03-20 20:24:00) [17]Дело в том, что в любом приложении существует масса окон. Например, кнопка - тоже окно, чекбокс - тоже окно. Т.е. нажатие Вы должны посылать тому контролу, который выводит эти символы.