Как не допустить запуск второй копии программы 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.
|
|