![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Управление другой программой
FEV © (2009-04-21 18:02:00)В общем, моя задача передать из своей программы в другую (Net Speakerphone 4.6.x) сообщение о нажатии кнопки (запуске процедуры на кнопке)...
Пытался использовать:
var net,h1,h2: hwnd;
...........
h1 := net;
h2 := FindWindowEx(h1, 0, 'TButton', 'Speak ON');
SendMessage(h2, BM_CLICK, 0, 0);
Проблема в том, что дескриптор кнопки не определяется, какое бы я WindowName не указывал... Указывал и русское (т.к. приложение мультиязыковое) и англ, и то, что внутри проги выдернул (выдернул на русском) и даже из языкового файла: то, чему присваивается...
Дескриптор же окна определяется нормально, и правильно, проверял c EnableButton1.1, конвертируя значения Hex-Dec, значения совпадают, также EnableButton1.1 показывает, что главное окно у кнопки имеет именно этот дескриптор... Но вот от кнопки приходит только 0. т.е не определяется... Что можете посоветовать? Как нажать эту х.... кнопку?
Известно, что прога написана на Delphi.
FEV (2009-04-21 18:40:00) [1]
> А в чём тайный смысл ?
> Ну получит Net Speakerphone дескриптор кнопки - что дальше
> ?
Мне надо ее нажать из своего приложения...
> Не все золото, что блестит, т.е не каждая кнопка является
> окном, некоторые кнопки - это картинки. Да и класс окна
> кнопки, если это все таки окно, не обязан быть 'TButton'.
>
> Возьми SPY++ и посмотри сначала какие там окна и с какими
> классами.
Дання кнопка не картинка. Я с DeDe разобрал программку... Класс TButton, это определил еще EnableButton1.1, да и по ресурсам видно это...
Сейчас подумал, что я знаю, какая процедура запускает то же самое, что и нужная мне кнопка...
Это bCapStartClick...
Вопрос слегка другой... Я имею имя процесса, как мне выполнить именно эту процедуру?
Как мне отправить сообщение NetSph.exe о выполнении процедуры... Это возможно так же, как посылается сообщение DLL... Толко как?
DVM (2009-04-21 18:25:00) [2]
> Проблема в том, что дескриптор кнопки не определяется, какое
> бы я WindowName не указывал
Не все золото, что блестит, т.е не каждая кнопка является окном, некоторые кнопки - это картинки. Да и класс окна кнопки, если это все таки окно, не обязан быть 'TButton'.
Возьми SPY++ и посмотри сначала какие там окна и с какими классами.
Хитрий Лис (2009-04-21 18:19:00) [3]А в чём тайный смысл ?
Ну получит Net Speakerphone дескриптор кнопки - что дальше ?