Ima vise mogucih alternativa. Evo nekih:
1) Mozes koristiti read-write lock. Prva instanca aplikacije zakljuca fajl, recimo C:/tmp/myapp.lock (napravi fajl ako ne postoji), kada se startuje druga instanca, onda ona pokusa da lokuje fajl, ako ne uspe ugasi se.
2) Slicna prica kao u prethodnom. U Registry napravis kljuc HKEY_CURRENT_USER/Software/MyApp/lock i setujes mu vrednost tako sto uzmes PID od programa. Druga instanca otvori Registry, pogleda tu vrednost i uporedi sa svojim PID-om, ako nije isti, gasi se. Ne treba napominjati da je odgovornost prve aplikacije da obrise lock vrednost prilikom gasenja, inace se program vise nikada nece startovati. :D
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin