|
Вопрос # 5 773/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Есть две программы написаны на делфи, при запуске первой, она запускает вторую но в фоном режиме, мне нужно передать команды из одной (первой программы) во вторую. Команды элементарные. Свернуть развернуть форму. Как это можно реализовать....
Если можно пример!
Мини-форум вопроса
Всего сообщений: 10; последнее сообщение — 22 ноября 2011, 19:53; участников в обсуждении: 4.
|
min@y™ (статус: Доктор наук), 22 ноября 2011, 14:50 [#1]:
Исходники обеих программ есть?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Ерёмин А.А. (статус: *Администратор), 22 ноября 2011, 14:51 [#2]:
Через сообщения (SendMessage).
|
|
Ерёмин А.А. (статус: *Администратор), 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™ (статус: Доктор наук), 22 ноября 2011, 15:30 [#6]:
Скачай книжку вот эту. В главе 5 есть подраздел "Нестандартные сообщения". С примерами.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 22 ноября 2011, 15:32 [#7]:
Цитата (Шарайчук Сергей Олександрович):
ем, так окно нашол, как свернуть и развернуть разобрался... но у меня второе окно спрятано в трее, и кроме команды
Если есть исходники, то вся эта хрень не нужна.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Шарайчук Сергей Олександрович (статус: 2-ой класс), 22 ноября 2011, 15:37 [#8]:
Если есть исходники, то вся эта хрень не нужна.
если вы о том что просто запихнуть все в одну прогу, просто сделать несколько форм, то это не выход, мне именно нужно чтобы фрмы не были завязаны в одном екзешнеке, а работали как отдельные программы, что-то типа модулей или дополнений, но вызвались из одной главной формы (программы)...
Я бы изменил мир, но Бог не дает исходники!
|
|
Мережников Андрей (статус: Абитуриент), 22 ноября 2011, 19:39 [#9]:
написали же выше - использовать sendmessage. Из одной программы посылаете сообщение, в другой делаете обработчик сообщений, в котором описываете сколько угодно каких угодно действий, выполняемых по получению сообщения.
|
|
min@y™ (статус: Доктор наук), 22 ноября 2011, 19:53 [#10]:
Цитата (Шарайчук Сергей Олександрович):
если вы о том что просто запихнуть все в одну прогу
нет, не о том. Я бы написал пример минут за 20 с перекуром, но:
а) работой завалили;
б) пусть другие ребята баллов подзаработают;
ц) мотивации нету.
Цитата (Мережников Андрей):
написали же выше - использовать sendmessage. Из одной программы посылаете сообщение, в другой делаете обработчик сообщений, в котором описываете сколько угодно каких угодно действий, выполняемых по получению сообщения.
Таки да.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|