Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.26;
Скачать: CL | DM;

Вниз

как блокировать повторный запуск?   Найти похожие ветки 

 
BillyJeans ©   (2002-09-16 10:44) [0]

Подскажите, каким образом при запуске сделать проверку, запущена программа уже или нет? А если запущена то Exit!


 
Separator ©   (2002-09-16 10:49) [1]

program CopyProg;

uses
Forms,
Dialogs,
Windows,
SysUtils,
UnitBasic in "UnitBasic.pas" {FormBasic};

{$R *.res}

var
Atom: word;
Title: PChar;
myHandle: THandle;

begin
// Определени названия програмы
myHandle:= Application.Handle;
Title:= StrAlloc(255);
GetWindowText(myHandle, Title, 255);

// Определение запуска второй копии
if GlobalFindAtom(Title) <> 0 then
begin
ShowMessage("Попытка запуска второй версии программы!");
Halt
end;

// Запуск программы
Atom:= GlobalAddAtom(Title);
Application.Initialize;
Application.Title:= "My Program";
Application.CreateForm(TFormBasic, FormBasic);
Application.Run;
GlobalDeleteAtom(Atom)
end.


 
vikki   (2002-09-16 10:50) [2]

мьютекс используй


 
BillyJeans ©   (2002-09-16 10:58) [3]

какой такой мьютекс?


 
Separator ©   (2002-09-16 11:57) [4]

Про мьютексы читай в умныз книгах.
А вот пример его использования:

var
HMutex: THandle;
begin
HMutex:= CreateMutex(nil, False, "MySuperProga");
if WaitForSingleObject(HMutex, 0)<>wait_TimeOut then
begin
Application.Initialize;
Application.CreateForm)TForm1, Form1);
Application.Run
end
end.

А вообще слей какой-нибудь нормальный фак и там по этому вопросу куча примеров



Страницы: 1 вся ветка

Текущий архив: 2002.09.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
1-85599
bamper
2002-09-13 18:42
2002.09.26
Низкоуровневое программирование


4-85752
stainer
2002-08-10 02:08
2002.09.26
wh_shell hook (абочий, но корявый)


3-85341
Spooky
2002-09-04 12:03
2002.09.26
Удаление записи, указанной в наборе пользователем, с помощью SQL


6-85637
Sir Alex
2002-07-20 12:56
2002.09.26
В отдельном потоке работает IdHTTP, как его остановить?


3-85337
LUK_Paul
2002-09-04 14:53
2002.09.26
Отрицательные значения в ADO