Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование WinAPI для взаимодействия с другими приложениями [D7, WinXP]


Страницы:   1 2

memphis007 ©   (2007-08-02 12:45:00) 

Здравствуйте! Мне нужно написать программу, которая вставляла мой текст, в текстовое поле другой программы и программно нажимала на кнопку (короче посылала сообщения в чат). Скажите как мне это реализовать, если неизвестно на каком языке написан этот "чат".


  (2007-12-27 00:36:00) [1]

Удалено модератором


  (2007-12-06 14:24:00) [2]

Удалено модератором


  (2007-12-06 11:32:00) [3]

Удалено модератором


Leonid Troyanovsky   (2007-08-03 10:02:00) [4]


> memphis007 ©   (02.08.07 22:33) [19]

> FindWindowEx находит первый хэндл (по классу), а тама два
> контрола с одинаковыми классами без каких либо других отличительных

Иногда контролам присваивают идентификаторы, которые можно считать
путем GetDlgCtrlID. Однако, в общем случае, для идентификации контролов
придется удовлетворяться их z-order, например, порядком их нахождения
FWE, или их координатами на паренте.
{Конечно, в случае, если эти характеристики воспроизводимы, т.е. их
порядок или координаты не меняются при каждом запуске или в ходе
работы}.

--
Regards, LVT.


memphis007   (2007-08-02 22:33:00) [5]

Вобщем, все идет своим чередом, только вот какая проблема возникла...
Я посмотрел иерархию нужной мне проги (в которую я буду вставлять текст), дак вот, чтобы добраться до нужного мне контрола нада через кучу парентов пройти...
Проблема:
FindWindowEx находит первый хэндл (по классу), а тама два контрола с одинаковыми классами без каких либо других отличительных знаков...

Как мне получить хендл второго контрола?


Dib@zol   (2007-08-02 21:58:00) [6]

> [17] Инс ©   (02.08.07 21:16)

Садюга...


Инс   (2007-08-02 21:16:00) [7]


> Нет денег - нет стульев.


- Мама, мама, дай мне конфетку!
- Возьми, доченька
- Ну ведь она же на столе!
- Ну так возьми со стола!
- Но у меня ведь нет ножек!
- Нет ножек - нет конфетки.


Leonid Troyanovsky   (2007-08-02 21:07:00) [8]


> memphis007 ©   (02.08.07 21:05) [14]

> > Утром - деньги, вечером - стулья
>
> :))) Пока и денег нету :)))

Нет денег - нет стульев.

--
Regards, LVT.


Leonid Troyanovsky   (2007-08-02 21:06:00) [9]


> Dib@zol ©   (02.08.07 16:06) [9]

> И нам исходничок кинь как оплату за труды ;)))

Исходнее - вам, а оплату - нам.

--
Regards, LVT.


memphis007   (2007-08-02 21:05:00) [10]


> Утром - деньги, вечером - стулья

:))) Пока и денег нету :)))


Leonid Troyanovsky   (2007-08-02 21:04:00) [11]


> memphis007 ©   (02.08.07 20:23) [10]

> Ага, дам исходник, когда закончу. Скажите еще, пожалуйста,
>  если не по кнопке отправляется сообщение, как симитировать

> А, еще... как отыскать нужное мне текстовое поле? :)))

Утром - деньги, вечером - стулья.

--
Regards, LVT.


memphis007   (2007-08-02 21:04:00) [12]

Малнько подправил текст:

SendMessage(f, WM_LBUTTONDOWN, MK_LBUTTON, 0);
SendMessage(f, WM_LBUTTONUP, MK_LBUTTON, 0);


memphis007   (2007-08-02 20:25:00) [13]

А, еще... как отыскать нужное мне текстовое поле? :)))


memphis007   (2007-08-02 20:23:00) [14]

Ага, дам исходник, когда закончу. Скажите еще, пожалуйста, если не по кнопке отправляется сообщение, как симитировать нажатие Ентер'а в чате?


Dib@zol   (2007-08-02 16:06:00) [15]

> спасибо большое.

И нам исходничок кинь как оплату за труды ;)))


memphis007   (2007-08-02 16:05:00) [16]

Друзья :-) спасибо большое. Ща напишу бота для рекламы в городском чате :-) Буду поднимать свое благосостояние :-) Пака!


Dib@zol   (2007-08-02 13:29:00) [17]

> SendMessage(F, WM_COMMAND, 0, F); // Нажимаем кнопу!!!

Упс. Не то.
SendMessage(F, WM_LBUTTONDOWN, 0, F);
SendMessage(F, WM_LBUTTONUP, 0, F);

Походу так...


Dib@zol   (2007-08-02 13:18:00) [18]

> Екзампл кидай на почту :-)

Незачем. Екзампл в моем понимании это не прога, а кусок кода, хоть порой и довольно значительный...
Вощем вот:

var F:HWND;
...
F:=FindWindow('BUTTON', 'Типа_текст_на_кнопе'); // Нюф-нюф-нюф! :) Ищем...
SendMessage(F, WM_COMMAND, 0, F); // Нажимаем кнопу!!!

Впрочем, в предпоследнем параме (нуле) в Сенд-е я не уверен. Покури хелп по WM_COMMAND.


WASM   (2007-08-02 13:17:00) [19]

вставляем текст
SendMessage(Handle, WM_SETTEXT, 0, Integer(PChar('TEXT')));нажимаем на кнопку
SendMessage(Handle, BM_CLICK, 0, 0);

Флаг вам в руки


memphis007   (2007-08-02 13:07:00) [20]

Спасибо, за отзывчивость. Программа написана или на Delphi или на С++. FindWindow() и FindWindowEx использовал, но можно было бы и попожробнее... Екзампл кидай на почту :-)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо