Einzelnen Beitrag anzeigen

Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Programmstart nur 2 mal zulassen

  Alt 1. Apr 2009, 16:24
Ein Beispiel aus der Codelib erweitert auf zwei Instanzen.
Delphi-Quellcode:
unit NichtMehrAlsZweimalStarten;

interface

implementation

uses windows,Dialogs,sysutils;

var mHandle: THandle; // Mutexhandle

Initialization
  mHandle := CreateMutex(nil,True,'xxxxx');
  // 'xxxxx' Der Anwendungsname ist hier einzutragen
  if GetLastError = ERROR_ALREADY_EXISTS then
     begin
        CloseHandle(mHandle);
        mHandle:=CreateMutex(nil,True,'yyyyy');
        if GetLastError = ERROR_ALREADY_EXISTS then
          begin
            // Anwendung läuft zweimal
            {showMessage('Anwendung läuft bereits in zwei Instanzen');}    
            // Wenn du deine Meldung willst, mach die Klammern weg
            Halt;
          end:
     end;


finalization // ... und Schluß
  if mHandle <> 0 then
    CloseHandle(mHandle)
end.
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat