Показать сообщение отдельно
  #3  
Старый 12.06.2011, 18:58
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

попытался написать код, которого нет в google на каждом шагу:
Код:
program Project1;

uses
  Windows,
  Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

type
  PGlobalData = ^DWORD;

const
  FileMappingName: PChar = 'Shared_Memory_Project1';

var
  GlobalAtom: ATOM;
  FileMappingHandle: THandle;
  GlobalData: PGlobalData = nil;

begin
  FileMappingHandle:=CreateFileMapping($ffffffff, nil, PAGE_READWRITE, 0, SizeOf(DWORD), FileMappingName);
  GlobalData:=MapViewOfFile(FileMappingHandle, FILE_MAP_ALL_ACCESS, 0, 0, SizeOf(DWORD));
  try
    if GlobalFindAtom('AtomProject1')=0 then
    begin
      GlobalAtom:=GlobalAddAtom('AtomProject1');
      try
        begin
          Application.Initialize;
          Application.CreateForm(TForm1, Form1);
          GlobalData^:=Application.Handle;
          Application.Run;
        end;
      finally
        GlobalDeleteAtom(GlobalAtom);
      end;
    end else SetForegroundWindow(GlobalData^);
  finally
    UnmapViewOfFile(GlobalData);
    CloseHandle(FileMappingHandle);
  end;
end.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием