Форум: "Система";
Текущий архив: 2002.11.14;
Скачать: [xml.tar.bz2];
ВнизВторая копия программы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c