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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2011, 16:25   #31
kettanaito
Веб-дизайнер
Форумчанин
 
Аватар для kettanaito
 
Регистрация: 11.08.2011
Сообщений: 305
По умолчанию

mss, спасибо за код Работает безупречно.
Код:
program cdp;
...
var
  hMMF: THandle;
  pAppHwnd: PHandle;
  fw:THandle;
  data:TCopyDataStruct;
begin
  hMMF := CreateFileMapping(INVALID_HANDLE_VALUE, nil, PAGE_READWRITE, 0, SizeOf(THandle),PAnsiChar(ExtractFileName(ParamStr(0))));
  if GetLastError = ERROR_ALREADY_EXISTS then
    begin
    pAppHwnd := MapViewOfFile(hMMF, FILE_MAP_READ, 0, 0, SizeOf(THandle));
    fw:=FindWindow('Tcdpmain',nil);
     if paramcount>0 then
      begin
        with data do
          begin
          dwData := 0;
          cbData := StrLen(PChar(Paramstr(1))) + 1;
          lpData := PChar(Paramstr(1));
          end;
          SendMessage(fw, WM_COPYDATA, 0, Longint(@data));
        end;
      UnMapViewOfFile(pAppHwnd);
      CloseHandle(hMMF);
      Halt;
    end
  else
    begin
      pAppHwnd := MapViewOfFile(hMMF, FILE_MAP_WRITE, 0, 0, SizeOf(THandle));
      pAppHwnd^ := Application.Handle;
      UnMapViewOfFile(pAppHwnd);
  end;
  Application.Initialize;
  Application.Run;
  CloseHandle(hMMF);
end.
И обработчик сообщения:
Код:
procedure Tcdpmain.ReceiveMessage(var Msg: TWMCopyData);
var text:array[0..99] of Char;
begin
StrLCopy(text,Msg.CopyDataStruct.lpData, Msg.CopyDataStruct.cbData);
ShowMessage(text);
end;

Последний раз редактировалось kettanaito; 17.08.2011 в 17:09.
kettanaito вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взаимодействие с игрой saylar_06 Общие вопросы Delphi 13 08.06.2011 14:35
Взаимодействие C# и 1с Sparky Свободное общение 1 05.02.2010 04:31
Взаимодействие приложений artemavd Общие вопросы Delphi 22 01.08.2009 20:09
uTorrent - взаимодействие SoulReaver Win Api 1 21.06.2009 20:06
Взаимодействие с пользователем Alone_Wolf Общие вопросы Delphi 19 23.12.2008 09:34