Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 630

•  TDictionary Custom Sort  6 634

•  Fast Watermark Sources  6 413

•  3D Designer  9 354

•  Sik Screen Capture  6 743

•  Patch Maker  7 130

•  Айболит (remote control)  7 136

•  ListBox Drag & Drop  5 996

•  Доска для игры Реверси  97 579

•  Графические эффекты  7 328

•  Рисование по маске  6 615

•  Перетаскивание изображений  5 486

•  Canvas Drawing  5 864

•  Рисование Луны  5 588

•  Поворот изображения  5 096

•  Рисование стержней  3 663

•  Paint on Shape  2 895

•  Генератор кроссвордов  3 794

•  Головоломка Paletto  3 046

•  Теорема Монжа об окружностях  3 857

•  Пазл Numbrix  2 537

•  Заборы и коммивояжеры  3 250

•  Игра HIP  2 220

•  Игра Go (Го)  2 153

•  Симулятор лифта  2 531

•  Программа укладки плитки  2 173

•  Генератор лабиринта  2 670

•  Проверка числового ввода  2 322

•  HEX View  2 655

•  Физический маятник  2 287

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Как не допустить запуск второй копии программы 5



Автор: Васильев Николай

Идет колдун по базару. Нос крючком, на голове колпак, сам в халате до пят звездами расшитом. Кругом фрукты, насекомые там над ними... Вдруг на нос ему садится оса. Колдун хлоп - и убил осу. Идет дальше. На нос ему садится еще одна оса. Опять хлоп - и нет осы. На нос садится третья. Тут колдуну надоело, достал он волшебную палочку и приказал:
- Хочу, чтобы осы сами по себе дохли без всякой видимой причины! Так появилась ОС Windоws 95...


program pds;

uses
  Windows,
  Forms,
  Main in 'MAIN.PAS' {MainForm},

const
  MemFileSize = 127;
  MemFileName = 'one_example';

var
  MemHnd: HWND;

{$R *.RES}

begin

  MemHnd := CreateFileMapping(HWND($FFFFFFFF), nil,
    PAGE_READWRITE, 0, MemFileSize,
    MemFileName);
  if GetLastError <> ERROR_ALREADY_EXISTS then
  begin
    Application.Initialize;
    with TForm1.Create(nil) do
    try
      Show;
      Update;
      Application.CreateForm(TMainForm, MainForm);
    finally
      Free;
    end;
    Application.Run;
  end
  else
    Application.MessageBox('Приложение уже запущено (возможно оно свернуто
      на панели задач): Нажмите кнопку ОК для продолжения работы',
      'Производственно-диспетчерская служба', MB_OK);
  CloseHandle(MemHnd);
end.