Entwickler-Ecke

Dateizugriff - Programm einmalig ....


AZRAEL - Mo 02.12.02 01:34
Titel: Programm einmalig ....
Hi leute was kann ich in Delphi machen dass ein Programm nur einmal auf einem rechner läuft ? also ich hab ne exe und klick 50x drauf aber nur 1x reagiert dass Programm ! dass ist ziel der sache ! ...


MFG
AZRAEL


Anonymous - Mo 02.12.02 02:14

http://mitglied.lycos.de/popov3/pub/topten/faq.txt

Tipp 9


Delete - Mo 02.12.02 11:49

Immer noch keine HTML-Seite. :wink:

Als Ergänzung (warum habe ich jetzt ein Deja vù?): die aktive Instanz deines Programms kannst du über das Fenster-Handle finden und aktivieren. Ich würde daher (bzw. ich mache das auch so!) den Tipp von Popov in die Projektdatei (*.dpr) setzen und bei der Fehlerbehandlung:

Quelltext
1:
2:
3:
if GetLastError = ERROR_ALREADY_EXISTS then
  begin
  end;

dafür sorgen, dass die schon laufende Instanz in den Vordergrund geholt wird. Dazu ist bei VCL-Programmen der Name der Hauptform als Klassenname heranzuziehen. Zweckmäßigerweise sollte man seinen Programmen daher eigene Formnamen anstelle des "TForm1" spendieren.

Damit bekommt man über findwindow ein Handle auf das Fenster, kann es in den Vordergrund holen, und die 2./3./x. Instanz des Programms mit dem

Quelltext
1:
Halt                    

beenden.