Форум: "WinAPI";
Текущий архив: 2008.10.26;
Скачать: [xml.tar.bz2];
ВнизИспользование 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2008.10.26;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.005 c