Re: Limiting to one instance

Alen Ladavac <[email protected]> Tue, 15 Aug 2006 10:13:18 +0200
Newsgroups gmane.games.devel.windows
Organization Croteam
Message-ID <[email protected]>
> I remember at an old company one genius tried to prevent multiple instances
> of an app by binding a port, and was then surprised when it failed for
> pretty much everyone who was running a firewall!

Actually, it's not such a weird idea. Some applications rely on IP
ports as a simple yet very portable IPC mechanism. Firewalls should
really know better, by handling 127.0.0.1 specifically by default. But
apparently even the best in class don't.

Btw, in my book, even using a named mutex in that way is a bit hacky
because you are relying on error. But what can we do, when there's no
real API intended for that purpose.

Personally, I've been using FindWindow(xyz, NULL) to find a main
window by class name. Same principle (with same weaknesses as a named
mutex), but doesn't require an extra object creation, as you probably
already have a window, and you can use this to test even for foreign
applications, because it doesn't require access to the code of the
tested application. A nice side effect is that once you have the
window, you can report messages like "Cannot start, please close ABCD
application first", where you get the ABCD from the application's main
window caption.

Cheers,
Alen


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Gamedevlists-windows mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows
Archives:
http://sourceforge.net/mailarchive/forum.php?forum_id=555