Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2024, 23:04   #11
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 627
По умолчанию

Ну тем временем я нашел вот такой вот код
Код:
{Отправляет сообщение в другое окно}
Procedure SendToProgram(const Message1: AnsiString; const WindowName1: PChar; const  Id_1: cardinal; const Handle_1:integer=0);
var
  CDS: TCopyDataStruct;
begin
  CDS.dwData := Id_1;
  CDS.cbData := Length(Message1) + 1;
  GetMem(CDS.lpData, CDS.cbData);
  try
    StrPCopy(CDS.lpData, Message1);
    SendMessage(FindWindow(nil, WindowName1),
                  WM_COPYDATA, Handle_1, Integer(@CDS));

  finally
    FreeMem(CDS.lpData, CDS.cbData);
  end;
end;
И код принимающей программы:
Код:
TForm1 = class(TForm)
  private
    procedure WMCopyData(var MessageData: TWMCopyData); message WM_COPYDATA;
Код:
procedure TForm1.WMCopyData(var MessageData: TWMCopyData);
begin
  //Устанавливаем свойства метки, если заданная команда совпадает
  if MessageData.CopyDataStruct.dwData = 1 then
  begin
    //Устанавливаем текст из полученных данных
    ShowMessageRus( PAnsiChar((MessageData.CopyDataStruct.lpData)) );
    MessageData.Result := 1;
  end
  else
    MessageData.Result := 0;
end;
Тестировал - вроде как то что надо.
Один вопрос - как таким методом отправить что-то в программу если у нее нет окна?
И можно ли отправить если окно не видимо?
Kronos913 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++, передача значения строки между функциями denkorg Общие вопросы C/C++ 2 17.12.2017 09:52
Выбор между программами Karfagen Свободное общение 4 02.03.2017 13:58
обмен данными между программами nestor_petrovitch Общие вопросы Delphi 3 05.02.2012 20:56
как реализовать обмен данными между программами Андрей.12 Работа с сетью в Delphi 1 26.11.2009 08:06
Обмен данными между двуми программами JRK_DV Помощь студентам 6 28.11.2008 00:18