Текущий архив: 2004.04.25;
Скачать: CL | DM;
Вниз
Одноразовый запуск приложения Найти похожие ветки
← →
Ivolg © (2004-04-05 11:21) [0]Здасте! Есть вопрос!У меня есть приложение как зделать чтобы оно не запускаось несколко раз(один раз отлрыл свою прогу а второй раз когда прога уже запушенна она не открывалась)?СПАСИБО БОЛЬШОЕ!
← →
Рамиль © (2004-04-05 11:23) [1]FAQ
← →
Семен Сорокин © (2004-04-05 11:24) [2]FAQ
← →
Developerr © (2004-04-05 11:43) [3]Удалено модератором
← →
Семен Сорокин © (2004-04-05 11:52) [4]можно проще:
в MainForm.Createvar
_hnd: THandle;
...
_hnd := CreateFileMapping($FFFFFFFF, nil, PAGE_READONLY, 0, 32, "MySuperProgramm");
if (_hnd <> 0) and (GetLastError = ERROR_ALREADY_EXISTS) then begin
CloseHandle(_nnd);
MessageDlg(Повторный запуск! Не допускается одновременный запуск" + #13#10 + "нескольких копий программы на одном компьютере!", mtError, [mbOk], 0);
ExitCode := 1;
Application.Terminate;
Application.ShowMainForm := false;
Exit
end
← →
Артем К. (2004-04-05 14:35) [5]А можно все гораздо проще сделать:
uses SyncObjs;
...
procedure TForm1.FormCreate(Sender: TObject);
var
StopRetryLoad: TEvent;
begin
StopRetryLoad := TEvent.Create(nil,
false,true,"MYPROGRAM_CHECKEXIST");
with StopRetryLoad do
if (WaitFor(10) <> wrSignaled) then begin
ShowMessage("Программа уже запущена!");
Free;
Halt;
end;
end;
← →
имя (2004-04-05 22:07) [6]Удалено модератором
Страницы: 1 вся ветка
Текущий архив: 2004.04.25;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.025 c