Текущий архив: 2002.11.14;
Скачать: CL | DM;
Вниз
Вторая копия программы Найти похожие ветки
← →
Soft © (2002-09-12 18:47) [0]Привет народ.
Не подскажете как определить запусчена ли уже определенная программа. FindWindow плохой способ, не пойдет. Может через сокеты. Или нет в Винде каких-то семафоров?
← →
MBo © (2002-09-12 18:50) [1]CreateMutex
← →
RV © (2002-09-13 09:18) [2]program SelfCheck;
uses
Windows,
Forms,
Unit1 in "Unit1.pas" {Form1};
const
AtStr="MyProgram";
function CheckThis : boolean;
var
Atom: THandle;
begin
Atom:= GlobalFindAtom(AtStr);
Result:= Atom <> 0;
if not result
then GlobalAddAtom(AtStr);
end;
begin
if not CheckThis
then begin // Запуск программмы
Application.Initialize;
Application.CreateForm(TForm1,Form1);
Application.Run;
GlobalDeleteAtom(GlobalFindAtom(AtStr)); // !!!
end
else begin
MessageBox(0,"Нельзя запустить две копии","Моя программа",0);
end;
end.
Элегантно и работает
Страницы: 1 вся ветка
Текущий архив: 2002.11.14;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.022 c