Hallo,
ich versuche grad den doppelstart einer Anwendung zu verhindern.
Dazu hab ich in der CodeLib einen
Beitrag von Luckie gefunden.
Meine Umsetzung sieht folgendermaßen aus:
Delphi-Quellcode:
var
mHandle: THandle;
i: Integer;
begin
mHandle := CreateMutex(
nil, True, PAnsiChar(ParamStr(0)));
if GetLastError = ERROR_ALREADY_EXISTS
then
begin
for i := 1
to ParamCount
do
CopyData(mHandle, ParamStr(i));
// Parameter der 1. Instanz übergeben
Application.Terminate;
end;
Application.Initialize;
// Ggf. Formulare erzeugen
Application.CreateForm(TGUI,
GUI);
Application.Run;
if mHandle <> 0
then
CloseHandle(mHandle)
end.
Mein Problem ist nur, dass es so aus irgendeinem Grund nicht funktioniert.
Nur der Grund ist mir nicht bekannt
Ich hoffe also mal wieder auf euch