Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
14-46145
AL2002
2002-10-28 16:30
2002.11.14
Есть у кого такие штучки для Паскаля:


1-45917
klyonov
2002-11-03 10:53
2002.11.14
Сохранение свойств в поток


6-46044
Archont
2002-09-16 00:34
2002.11.14
Робот для чата


14-46092
copyr25
2002-10-25 21:09
2002.11.14
---|Ветка была без названия|---


7-46168
Ш-К
2002-09-13 14:51
2002.11.14
Кто-нибудь работал с ПУ по протоколу ЕРР?




   Наверх