Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать что программу пытаються запустить повторно? [D6, D7, WinXP]


sucer ©   (2003-08-13 20:55:00) 

Как узнать что программу пытаються запустить повторно


WhiteShadow   (2003-08-16 16:38:00) [1]

В статьях есть эта тема...


iWorm   (2003-08-16 01:10:00) [2]

Удалено модератором
Примечание: Offtopic


Kyro5   (2003-08-15 09:29:00) [3]

Пример из книги Паченко кажется.
Ставь этот юнит первым в проекте

unit UOneHinst;
interface

implementation
uses
Windows;
var
Mutex : THandle;
MutexName : array[0..255] of Char;

function StopLoading : boolean;
var
L,I : integer;
begin
L := GetModuleFileName(MainInstance,MutexName,SizeOf(MutexName));
for I := 0 to L - 1 do
if MutexName[I] = "\" then
begin
MutexName[I] := "/";
end;
Mutex := CreateMutex(nil,false,MutexName);

Result := (Mutex = 0) or
(GetLastError = ERROR_ALREADY_EXISTS);
end;

procedure ShowErrMsg;
const
PROGRAM_ALREADY_RUN = "PROGRAM IS ALREADY RUNNING !";
begin
MessageBox(0,PROGRAM_ALREADY_RUN,MutexName, MB_ICONSTOP or MB_OK);
end;

initialization
if StopLoading then
begin
ShowErrMsg;
halt;
end;
finalization
if Mutex <> 0 then
CloseHandle(Mutex);
end.


Счетчик   (2003-08-14 10:19:00) [4]

Удалено модератором
Примечание: Offtopic


BillyJeans   (2003-08-14 10:11:00) [5]

Удалено модератором
Примечание: Offtopic


Reindeer Moss Eater   (2003-08-14 09:33:00) [6]

Повторно после вчерашнего запуска?


ferrik   (2003-08-14 01:34:00) [7]

При запуске искать копии..........


OHP   (2003-08-14 00:55:00) [8]

создавай мьютекс...


Наверх

Титульная страница Поиск, карта сайта Написать письмо