Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.26;
Скачать: CL | DM;

Вниз

Использование WinAPI для взаимодействия с другими приложениями   Найти похожие ветки 

 
memphis007 ©   (2007-08-02 12:45) [0]

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


 
Eraser ©   (2007-08-02 12:48) [1]

SendMessage + F1


 
Инс ©   (2007-08-02 12:53) [2]


> если неизвестно на каком языке написан этот "чат".


И молитесь, чтобы не на Java


 
Dib@zol ©   (2007-08-02 12:58) [3]

> [1] Eraser ©   (02.08.07 12:48)

Угу. Только до того FindWindow(EX). Екзампл подкинуть?


 
memphis007 ©   (2007-08-02 13:07) [4]

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


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

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

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


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

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

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

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

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


 
Dib@zol ©   (2007-08-02 13:29) [7]

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

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

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


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

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


 
Dib@zol ©   (2007-08-02 16:06) [9]

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

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


 
memphis007 ©   (2007-08-02 20:23) [10]

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


 
memphis007 ©   (2007-08-02 20:25) [11]

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


 
Leonid Troyanovsky ©   (2007-08-02 21:04) [12]


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

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

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

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

--
Regards, LVT.


 
memphis007 ©   (2007-08-02 21:04) [13]

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

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


 
memphis007 ©   (2007-08-02 21:05) [14]


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

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


 
Leonid Troyanovsky ©   (2007-08-02 21:06) [15]


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

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

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

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2007-08-02 21:07) [16]


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

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

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

--
Regards, LVT.


 
Инс ©   (2007-08-02 21:16) [17]


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


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


 
Dib@zol ©   (2007-08-02 21:58) [18]

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

Садюга...


 
memphis007 ©   (2007-08-02 22:33) [19]

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

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


 
Leonid Troyanovsky ©   (2007-08-03 10:02) [20]


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

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

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

--
Regards, LVT.


 
имя   (2007-12-06 11:32) [21]

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


 
имя   (2007-12-06 14:24) [22]

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


 
имя   (2007-12-27 00:36) [23]

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



Страницы: 1 вся ветка

Текущий архив: 2008.10.26;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.013 c
6-1194609413
Muxau
2007-11-09 14:56
2008.10.26
ICS THttpCli


15-1219403756
tesseract
2008-08-22 15:15
2008.10.26
Футболочки :-) Чего-то вспомнилось.


2-1221721382
Mahno
2008-09-18 11:03
2008.10.26
Помогите с вычислением


2-1221676471
Евгений Р.
2008-09-17 22:34
2008.10.26
Активная форма MDI приложения


2-1221795539
031178
2008-09-19 07:38
2008.10.26
Как объеденить 2 таблички в MS SQL