Иногда нужно запретить запуск программы более одного раза, сделать это легко
На многих сайтах я встречал только говнокод. Вот нашел нормальное понятное решение.
Var
h : THandle;
procedure TMain.FormCreate(Sender: TObject);
begin
begin
h := CreateMutex(nil, True, PChar(ExtractFileName(Application.ExeName)));
if WaitForSingleObject(h, 0)<>0 then
begin
ShowMessage(‘Программа уже запущена!’);
Application.Terminate;
CloseHandle(h);
end;
end;
Свежие комментарии