Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];

Вниз

О важном   Найти похожие ветки 

 
Лана Розанова   (2002-08-13 08:23) [0]

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


 
MBo   (2002-08-13 08:36) [1]

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


 
Opuhshii   (2002-08-13 08:36) [2]

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


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

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


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

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


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

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


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

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


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

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


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

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


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

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


 
sunwheel   (2002-08-13 17:46) [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 17:52) [11]

>sunwheel

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


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


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


> Лана Розанова © (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;


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

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


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

>Лана Розанова © (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).

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


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

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


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

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

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


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

>KSergey

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


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


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


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


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

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



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.08.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.014 c
1-84957
ymc
2002-08-15 13:50
2002.08.26
Формирование динамического меню в процессе работы программы


6-85156
Phil
2002-06-07 20:42
2002.08.26
Помогите! Необходимо сделать имитацию входа в NT-сеть


1-85039
UniqueNick
2002-08-13 15:33
2002.08.26
Фильтрация данных в KADaoTable


14-85229
Hawk2
2002-07-31 19:57
2002.08.26
Вот это облом с EhLib.


1-85050
nebula_
2002-08-14 12:09
2002.08.26
Control has no parent window





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский