powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Управление одним проложением из другого
8 сообщений из 8, страница 1 из 1
Управление одним проложением из другого
    #32137014
vaasys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Некое приложение Дельфи крутится на некой машине. Приложение обычное, не служба. У него есть некие ручные возможности управления из меню посредством вызова неких процедур, не требующие ввода дополнительных параметров.
Ну например типа:
Код: plaintext
1.
2.
3.
4.
5.
procedure Kaput;
begin
Table1.Active := False;
Close;
end;

Этим приложением нужно управлять из другого запущенного приложения на этой же машине вызывая эти его процедуры. Каким то способом поближе к системным. (Нужно так что бы первое приложение сильно нераздувать всякими сервисами удаленного управления.)
В каком направлении порыть? Желательно с примерами.
Спасибо!
...
Рейтинг: 0 / 0
Управление одним проложением из другого
    #32137041
Фотография maloi_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я обычно в таких ситуциях использую COM.
...
Рейтинг: 0 / 0
Управление одним проложением из другого
    #32137138
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
согласен, довольно красиво получается....

в зависимости от того что подразумевается управление и насколь оно серьезно, можно подумать на тему виндовых сообщений. Но тут все зависит от пристрастий, от сложностей, от знаний и тд. COM предоставляет большое кол-во возможностей, но он и довольно сложен. Сообщения более привычны, но возможностей меньше.
...
Рейтинг: 0 / 0
Управление одним проложением из другого
    #32137302
vaasys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Управление простое, без передачи данных, как я говорил.
Даже можно сказать что наиболее часто используемой командой будет "закрыть приложение". Но просто "срубить" его я не могу, нужно закрыть корректно, например как указано в моем примере.
Еще раз уточню, что для каждой простой команды в приложнии 1 есть соотв. пункт меню. Можно попросить простой пример с ипользованием сообщений (почти совсем не знаю что это).
...
Рейтинг: 0 / 0
Управление одним проложением из другого
    #32137889
oleg_e
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все просто!
Описываешь сообщение-константу в обоих прогах
Код: plaintext
1.
const
   WM_USERBUTTON1 = WM_USER +  1 ;

Из приложения управления посылаешь управляеммому приложению
(точнее посылаешь окну этого приложения):

Код: plaintext
PostMessage(FindWindow('TTargetForm','TargetFormCaption'), WM_USERBUTTON1,  0 ,  0 );


где TTargetForm - сласс окна,
TargetFormCaption - заголовок окна, можно поставить nil }

В управляеммом приложении создаешь обработчик для сообщения:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 
  TTargetForm = class(TForm)
    ...
  private
    procedure WMUSERBUTTON1(var Message: TMessage); message WM_USERBUTTON1;
   ...
  end;

  procedure TTargetForm.WMUSERBUTTON1(var Message: Tmessage);
  begin
    {Тута делаешь что надо, например}
    Button1.Click;
  end;


Можно другим способом - непосредственно вызывая команды меню.
В этом случае нет необходимости править приложение которой надо управлять, зато чуть посложнее с сообщениями и не так гибко!
...
Рейтинг: 0 / 0
Управление одним проложением из другого
    #32138194
vaasys
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо! :)
...
Рейтинг: 0 / 0
Управление одним проложением из другого
    #32139361
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так же есть еще и DDE
...
Рейтинг: 0 / 0
Управление одним проложением из другого
    #32139546
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что? Есть еще и Corba и еще много чего. Только стоит ли овчинка выделки?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Управление одним проложением из другого
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]