| |
 |
Wie verhindere ich den Mehrfachstart meines Programm?
06-10-2002 18:35
|
|
|
Unter 32Bit-Windows bedient man sich eines Mutex. Binde folgende Unit ein, du musst sie einfach nur deinem Projekt hinzuf?gen:
|
unit NichtDoppeltStarten;
interface
implementation
uses windows,Dialogs,sysutils;
var mHandle: THandle; // Mutexhandle
Initialization
mHandle := CreateMutex(nil,True,'xxxxx');
// 'xxxxx' Der Anwendungsname oder Application.title ist
// hier einzutragen
if GetLastError = ERROR_ALREADY_EXISTS then
begin
// Anwendung l?uft bereits
{showMessage('Anwendung l?uft bereits!!!!!');}
// Wenn du deine Meldung willst, mach die Klammern weg
Halt;
end;
finalization // ... und Schlu?
if mHandle <> 0 then
CloseHandle(mHandle)
end. {Dieter Hirt}
|
|
Alternativ zu dieser Art der Nutzung kann der Initialization- und Finalization-Teil auch am Ende der Hauptformular-Unit eingebunden werden.
|
|
|
|
|