Главная страница
    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.005 c
15-1220271848
md10
2008-09-01 16:24
2008.10.26
об ntfs пропавшем диске


2-1221590235
Lamer666
2008-09-16 22:37
2008.10.26
AdoConnection и MySQL на хостинге?


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


15-1220127613
Anatoly Podgoretsky
2008-08-31 00:20
2008.10.26
Система Рада


15-1220414845
ketmar
2008-09-03 08:07
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский