Главная страница
    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.44 MB
Время: 0.008 c
3-85393
manowar
2002-09-05 15:25
2002.09.26
как правильно инициализировать роль приложения из Delphi?


3-85346
Lina
2002-09-04 13:41
2002.09.26
Вычисляемые поля ...


1-85538
Pvk2002
2002-09-12 11:17
2002.09.26
Вопрос с System Tray


4-85758
Gari
2002-08-07 15:08
2002.09.26
Работа с окнами.


14-85670
Driverrr
2002-09-01 09:02
2002.09.26
SGI





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский