Entweder bin ich zu doof oder ich blick nicht mehr durch.
Hier mal der gesagte Source:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 =
class(TForm)
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
i:Integer=0;
Initialization //Zählen wie oft das Programm gestartet wird
repeat
THandle := CreateMutex(
nil, True, '
calc.exe'+ IntToStr(i));
Inc(i);
until GetLastError <> ERROR_ALREADY_EXISTS;
MessageBox(0, PChar('
Das Programm wurde'+IntToStr(i)+'
mal gestartet') , '
MeinProg', MB_OK)
finalization
if THandle <> 0
then CloseHandle(THandle);
end.
Glieder ich
THandle := CreateMutex(nil, True, 'calc.exe'+ IntToStr(i)); und
if THandle <> 0 then CloseHandle(THandle); aus, läuft das Programm. Sind die beiden aber wieder drin, zickt das nur rum -.-