Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.006 c
2-1221557905
Fynjy
2008-09-16 13:38
2008.10.26
как перенести выбранное обозначение в другую форму?


2-1220280502
Terasbetoni
2008-09-01 18:48
2008.10.26
Создать свой потомок от TForm и проектировать потомки от него.


15-1220517795
{RASkov}
2008-09-04 12:43
2008.10.26
DMClient заболел?


15-1220599042
noob_one
2008-09-05 11:17
2008.10.26
Как перенести Delphi на новую windows?


15-1220271337
zorik
2008-09-01 16:15
2008.10.26
Построение поверхности за границами изолиний





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский