Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

О важном


Лана Розанова ©   (2002-08-13 08:23:00) 

Как нажать на кнопку из одной в другой своей программе?
СПАСИБО.


KSergey   (2002-08-15 13:14:00) [1]

Да, и еще.
Почитайте статьи на королевтсве дельфи "Мечты вуайериста" и "Мечты вуайериста II" http://delphi.vitpc.com/helloworld/index.htm- там и про ваш случай скорее всего написано. (Здесь случай - не в смысле клиники, а в смысле ответа на поставленный вопрос, разумеется. А то еще опять же не правильно кто-то поймет чего доброго...)


KSergey   (2002-08-14 09:33:00) [2]


> Лана Розанова © (14.08.02 09:28)


Весьма странный у вас сервер, однако ;) Могу заверить, что я ничего не выдумали, все ссылки реально нашел.
Впрочем, важно что у вас таки все заработало.


Лана Розанова   (2002-08-14 09:28:00) [3]

>KSergey

На мои запросы сервер выдывал совсем не то что надо. Вот поэтому я и спросила.


Лана Розанова   (2002-08-14 09:26:00) [4]

>Набережных С.

Все получилось, СПАСИБО!!!


Лана Розанова   (2002-08-14 09:25:00) [5]

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


KSergey   (2002-08-14 07:35:00) [6]

>Лана Розанова © (13.08.02 16:42)

А вот напрасно вы так.
Придется всеже, видимо, ответ свой растолковать, т.к. видимо даже такой ответ вам не понятен.
Так вот. Есть в интернете поисковые системы. Это такие сервера, называемые так же поисковыми машинами, которые сканируют другие сервера, собирая информацию о том, что на них содержится (надеюсь, я достаточно подробно разъясняю?).
Поисковых машин оочень много, надеюсь после этой вводной лекции вы и сами сможете их разыскать не один десяток.
Так, для примера воспользуемся поисковой системой Яndex, упрощеннный вариант интерфейса которой располагается по адресу ya.ru. Открываем данный сайт, в строку поиска вводим буквально текст вопроса в поставленной формулировке:
"Как нажать на кнопку из одной в другой своей программе"
Смотрим результаты. Первая же ссылка приводит на на сайт http://ixbt.wallst.ru/ndkd.htmlс заголовком страницы "Как нажать кнопку в другом приложении из своей программы (Дельфи)?".
Ура! Мало того, что мы нашли метод, да он еще и не дельфи!
В принципе разобраться там можно.
Если же немного перефразировать строку поиска в вид "Как нажать кнопку в чужом окне", то первый же найденный сайт будет http://www.avtlg.ru/~kg/delphi_r.htm, где 7 пунктом будет ответ, приведенный Набережных С.(13.08.02 20:24).

А вот теперь потрудитесь ка объяснить мне, где в моем ответе был наезд, да еще "на бабу"?


ga3   (2002-08-14 03:33:00) [7]

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


Набережных С.   (2002-08-13 20:24:00) [8]


> Лана Розанова © (13.08.02 16:53)


var
h:Thandle;
begin
h:=FindWindow(nil,"MyForm");
if h = 0 then Exit;
h:=FindWindowEx(h,0,nil,"Нажми");
if h<>0 then PostMessage(h,BM_CLICK,0,0);
end;


Skier   (2002-08-13 17:52:00) [9]

>sunwheel

> Лучше предевать сообщение WM_COPYDATA


Не уверен. Данные-то никакие не передаются...
А если передавать с двумя нулями, то никакой разницы...


sunwheel   (2002-08-13 17:46:00) [10]

>Skier © (13.08.02 16:57)
Лучше предевать сообщение WM_COPYDATA

http://delphi.mastak.com/cgi-bin/forum.pl?look=1&id=1029244812&n=5


Skier   (2002-08-13 16:57:00) [11]

>Лана Розанова
- Получаешь Handle окна.
- Передаёшь ему своё пользовательскоесообщение
Что-то типа SendMessage(AHandle, UM_CLICK_THE_BUTTON, 0, 0);
- В форме принимаешь это сообщение и в его обработчике
пишешь Button.Click; и усё...


Ученик   (2002-08-13 16:56:00) [12]

>Лана Розанова
Перекомпиляция программ доступна ?


Лана Розанова   (2002-08-13 16:53:00) [13]

>Skier
Через FindWindow я получаю только хендл окна в котором находится злополучная кнопка.
При FindWindow("TButton","Нажми меня") хендл=0


Skier   (2002-08-13 16:44:00) [14]

>Лана Розанова
Можно через FindWindow находить Handle окна и посылать ему
сообщение...


Лана Розанова   (2002-08-13 16:42:00) [15]

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


KSergey   (2002-08-13 14:16:00) [16]

Да хоть немного, хоть много подробнее - есть такая штука как поиск. Ищите. Вам же ответили - вопрос обсуждался не раз и не два (и даже не 10, а много больше раз), да и к тому же есть во многих FAQ


Лана Розанова   (2002-08-13 13:38:00) [17]

Ребят, спасибо, но можно немного подробнее.


MBo   (2002-08-13 08:36:00) [18]

Вопрос часто обсуждается.
1) найти handle кнопки и послать ей BM_CLICK
2) так как обе программы твои, можно посылать второй программе пользовательское сообщение, встроив в нее обработчик этого сообщения


Opuhshii   (2002-08-13 08:36:00) [19]

SendMessage(ButtonHandle,BM_CLICK,0,0); где,. ButtonHandle - хэндл кнопки в другой программе,.. получить его можно с помощью FindWindow(WindowClass,WindowName); где WindowClass - класс кнопки, WindowName - Caption кнопки,..


Наверх

Титульная страница Поиск, карта сайта Написать письмо