![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать что программу пытаються запустить повторно? [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]
создавай мьютекс...