Du könntest folgendes Versuchen:
Delphi-Quellcode:
var
i:Integer=0;
Initialization //Zählen wie oft das Programm gestartet wird
repeat
mHandle := CreateMutex(nil, True, 'InstanzMeinerApplikation'+ IntToStr(i));
Inc(i);
until GetLastError <> ERROR_ALREADY_EXISTS;
MessageBox(0, PChar('Das Programm wurde'+IntToStr(i)+'mal gestartet') , 'MeinProg', MB_OK)
finalization
if mHandle <> 0 then CloseHandle(mHandle);
Man bemerke, dass das eine ziemlich fiese möglichkeit ist. Es geht bestimmt auch anders
PS: Den MessageDlg würde ich im initialization-Abschnitt nicht riskieren. lieber eine hübsche
API-Funktion