![]() |
Re: Verhindern eine Anwendung mehrfach zu starten
also ich habe es bei mir mit gemacht habe es nie anders versucht habe auch mit dem Code nie Probleme gehabt
Da kommt man ja mit dem schreiben garnet hinterher |
Re: Verhindern eine Anwendung mehrfach zu starten
Noch'n Tipp:
![]() |
Re: Verhindern eine Anwendung mehrfach zu starten
@Klaus:
Die Exception kommt auch, wenn ich keinerlei Überprüfungen in die Applikation einbinde. Und wo bekomme ich diese GUI-ID her? |
Re: Verhindern eine Anwendung mehrfach zu starten
Zitat:
|
Re: Verhindern eine Anwendung mehrfach zu starten
PS: MD5 und GUID sind gleich groß ... also falls sich mal jemand eine GUID live berechnen will :angel:
Also wenn man möchte, daß eine bestimmte Datei (und nur die eine Dateiversion) nur einmal gestartet werden darf > MD5 aus sich selbst (eigene EXE) berechnen |
Re: Verhindern eine Anwendung mehrfach zu starten
So, habe das folgendermaßen gemacht:
Delphi-Quellcode:
In der *.dpr selbst steht nichts drin, was eine vorherige Überprüfung durchführt. Weiterhin bekomme ich beim zwieten Start eine Exception. Blöd, dass man so etwas nicht debuggen kann...
unit Unit1;
interface implementation uses windows,Dialogs,sysutils; var mHandle: THandle; // Mutexhandle Initialization mHandle := CreateMutex(nil,True,'{7A366489-37B0-4E63-81A0-F0BBC281614D}'); // 'xxxxx' Der Anwendungsname 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} |
Re: Verhindern eine Anwendung mehrfach zu starten
Hi,
Zitat:
Mfg FAlter |
Re: Verhindern eine Anwendung mehrfach zu starten
Also:
|
Re: Verhindern eine Anwendung mehrfach zu starten
Hallo,
benenne die Unit mal um. Unit1 ist denkbar schlecht. Und dann binde sie als erste unit in der dpr ein. zu langsam ;( schau dir mal das "In den Vordergrundbringen" hier an ![]() Beitrag #14 Heiko |
Re: Verhindern eine Anwendung mehrfach zu starten
Klar, dass die Unit umbenannt wird. Wurde nur vorerst zum Test angelegt und gespeichert.
Habe mir die Funktion "EnsureSingleInstance" angeschaut. Theoretisch muß ich nicht die ganzen Überprüfungen machen. Was das eigentliche in dieser Funktion betrifft, führe ich ja bei mir aus. Sprich:
Delphi-Quellcode:
Aber leider wird das Programm immer noch nciht in den Vordergrund gesetzt.
mHandle := CreateMutex(nil,True,'{7A366489-37B0-4E63-81A0-F0BBC281614D}');
... SetForegroundWindow(mHandle); BringWindowToTop(mHandle); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz