Форум: "Система";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];
ВнизКак послать нажатия клавишь другому приложению !? Найти похожие ветки
← →
Delpher_Gray (2003-03-20 19:45) [0]Дарова Делферы !!
Подскажите, как можно послать нажатия клавишь другому приложению !?
Я пробовал что-то вроде:
SendMessage(FindWindow(nil, "Безымянный - Блокнот"), WM_KEYDOWN, 65, nil);
Но это не работает =(
Заранее благодарен !!
---------------------------
www.delphi.vov.ru - Delphi для всех !
← →
Song (2003-03-20 20:24) [1]Дело в том, что в любом приложении существует масса окон. Например, кнопка - тоже окно, чекбокс - тоже окно. Т.е. нажатие Вы должны посылать тому контролу, который выводит эти символы.
← →
Delpher_Gray (2003-03-21 08:32) [2]2Song !
Пасибки !!
Щас посмотрю, как в открывалке звёздочек в строке с паролем сделали !!
← →
Delpher_Gray (2003-03-21 08:58) [3]Неа =(
Не получилось =(
Я посылал в TEdit что-то, но там ничего не отобразилось =(
SendMessage(Wnd, WM_KEYDOWN, а чё писать дальше, незнаю =(
← →
MBo (2003-03-21 09:05) [4]а хелп не пробовал смотреть на WM_KEYDOWN?
← →
Apollo (2003-03-21 09:27) [5]Удалено модератором
Примечание: Задай СВОЙ вопрос в отдельной ветке
← →
Polevi (2003-03-21 09:31) [6]есть потоки ввода-вывода
← →
Apollo (2003-03-21 12:25) [7]http://www.torry.net/vcl/system/keys/sendkeys.zip Компонет (с исходниками)который это делает. Freeware. Только он для DOS-приложений не все клавиши нажимает (в частности курсор)
← →
Aleksey_sv (2003-03-21 13:36) [8]Попробуй
hcw:=FindWindowEx(hw,0,"tbutton",nil);
sendmessage(hcw,BM_CLICK,0,0);
← →
Севостьянов Игорь (2003-03-21 15:20) [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 приложений работает
← →
Delpher_Gray (2003-03-22 12:33) [10]Компонент SendKeys устроен совсем не так !!
Он просто эмитирует нажатия клавиши !!
А мне нужно полать !! SendMessage !!
← →
Song (2003-03-22 12:39) [11]WM_KEYDOWN посылает не символ, а нажатие. Вам же надо послать смивол с кодом 65. Для этого используйте WM_CHAR.
← →
Snap (2003-03-22 12:43) [12]Если тебя интересует не имено послание сообщения, а ввод символа в блокнот, можно просто активизировать блокнот, послать символы через keybd_event, и деактивизировать блокнот. :)))). Способ немного извращенский, но работает.
← →
delpher_gray (2003-03-23 15:00) [13]Snap !
Это я знаю =)
Я хочу научиться посылать сообщения =)
---------------------------
www.delphi.vov.ru - Delphi для всех !
← →
Delpher_Gray (2003-03-23 15:01) [14]2Song !
Значет SendMessage(Wnd, WM_CHAR, 65, 0); - будет работать !?!
← →
Delpher_Gray (2003-03-23 15:01) [15]2Song !
Значет SendMessage(Wnd, WM_CHAR, 65, 0); - будет работать !?!
---------------------------
www.delphi.vov.ru - Delphi для всех !
← →
Song (2003-03-23 15:37) [16]Конечно.
Только Wnd нужно правильный иметь.
← →
Delpher_Gray (2003-03-23 17:48) [17]Понял =)
Пасибки !
---------------------------
www.delphi.vov.ru - Delphi для всех !
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c