Moin Daywalker,
das sollte grundsätzlich gehen.
Du müsstest halt prüfen, ob schon eine Instanz des Programms läuft, ist nicht der Fall startet es das Programm noch einmal (der Pfad ist in paramstr(0)), und beendet sich selber.
Läuft schon eine Instanz, ist beim Start nichts mehr zu tun.
Diese Prüfung sollte dann in der
DPR stattfinden.
Einige grundsätzliche Beispiele für das Auffinden laufender Instanzen eines Programmes solltest Du hier mit
CreateMutex bzw.
CreateSemaphore finden können.