Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 773

/ вопрос открыт /

Приветствую, уважаемые эксперты!

Есть две программы написаны на делфи, при запуске первой, она запускает вторую но в фоном режиме, мне нужно передать команды из одной (первой программы) во вторую. Команды элементарные. Свернуть развернуть форму. Как это можно реализовать....

Если можно пример!

Шарайчук Сергей Олександрович Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Шарайчук Сергей Олександрович (статус: 2-ой класс)
Вопрос отправлен: 22 ноября 2011, 14:43
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 10; последнее сообщение — 22 ноября 2011, 19:53; участников в обсуждении: 4.
min@y™

min@y™ (статус: Доктор наук), 22 ноября 2011, 14:50 [#1]:

Исходники обеих программ есть?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Ерёмин А.А.

Ерёмин А.А. (статус: *Администратор), 22 ноября 2011, 14:51 [#2]:

Через сообщения (SendMessage).
Шарайчук Сергей Олександрович

Шарайчук Сергей Олександрович (статус: 2-ой класс), 22 ноября 2011, 14:56 [#3]:

min@y™:
да есть, программы пишу сам с нуля...

Ерёмин А.А.:
спасибо, а можно поподробней?
Я бы изменил мир, но Бог не дает исходники!
Ерёмин А.А.

Ерёмин А.А. (статус: *Администратор), 22 ноября 2011, 15:02 [#4]:

Шарайчук Сергей Олександрович: примеров миллион, если пользоваться поиском. Сначала через FindWindow() найти окно второго приложения, а потом просто отправить сообщение. В приёмнике, соответственно, создать его обработчик.
Шарайчук Сергей Олександрович

Шарайчук Сергей Олександрович (статус: 2-ой класс), 22 ноября 2011, 15:23 [#5]:

ем, так окно нашол, как свернуть и развернуть разобрался...
но у меня второе окно спрятано в трее, и кроме команды
ShowWindow(h1,SW_NORMAL );
мне нужно передать еще и команды
application.Restore;
application.BringToFront;

либо выполнить
procedure TForm1.TrayIcon1Click(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

как это сделать...?

procedure TForm1.Button1Click(Sender: TObject);
var
  h1, h2: hwnd;
begin
  h1 := FindWindow(nil, 'OnlainMovie');
  ShowWindow(h1,SW_MINIMIZE);
 end;
 
procedure TForm1.Button2Click(Sender: TObject);
var
  h1, h2: hwnd;
begin
  h1 := FindWindow(nil, 'OnlainMovie');
  ShowWindow(h1,SW_NORMAL );
end;
Я бы изменил мир, но Бог не дает исходники!
min@y™

min@y™ (статус: Доктор наук), 22 ноября 2011, 15:30 [#6]:

Скачай книжку вот эту. В главе 5 есть подраздел "Нестандартные сообщения". С примерами.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 22 ноября 2011, 15:32 [#7]:

Цитата (Шарайчук Сергей Олександрович):

ем, так окно нашол, как свернуть и развернуть разобрался... но у меня второе окно спрятано в трее, и кроме команды

Если есть исходники, то вся эта хрень не нужна.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Шарайчук Сергей Олександрович

Шарайчук Сергей Олександрович (статус: 2-ой класс), 22 ноября 2011, 15:37 [#8]:

Если есть исходники, то вся эта хрень не нужна.

если вы о том что просто запихнуть все в одну прогу, просто сделать несколько форм, то это не выход, мне именно нужно чтобы фрмы не были завязаны в одном екзешнеке, а работали как отдельные программы, что-то типа модулей или дополнений, но вызвались из одной главной формы (программы)...
Я бы изменил мир, но Бог не дает исходники!
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 22 ноября 2011, 19:39 [#9]:

написали же выше - использовать sendmessage. Из одной программы посылаете сообщение, в другой делаете обработчик сообщений, в котором описываете сколько угодно каких угодно действий, выполняемых по получению сообщения.
min@y™

min@y™ (статус: Доктор наук), 22 ноября 2011, 19:53 [#10]:

Цитата (Шарайчук Сергей Олександрович):

если вы о том что просто запихнуть все в одну прогу

нет, не о том. Я бы написал пример минут за 20 с перекуром, но:
а) работой завалили;
б) пусть другие ребята баллов подзаработают;
ц) мотивации нету.

Цитата (Мережников Андрей):

написали же выше - использовать sendmessage. Из одной программы посылаете сообщение, в другой делаете обработчик сообщений, в котором описываете сколько угодно каких угодно действий, выполняемых по получению сообщения.

Таки да.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:44
Выполнено за 0.03 сек.