Chris Lambacher wrote: > Does anyone know of an example of how to make a Python program only > run a single instance. I am specifically looking for examples for > win32.
The Python Cookbook, Second Edition, page 380, recipe 9.9: Determining Whether Another Instance of a Script is Already Running in Windows, suggests using a mutex kernel object to be safe from race conditions: from win32event import CreateMutex from win32api import GetLastError from winerror import ERROR_ALREADY_EXISTS from sys import exit handle = CreateMutex(None, 1, 'A unique mutex name') if GetLastError() == ERROR_ALREADY_EXISTS: print "I exist already" exit(1) else: print "I don't exist already" > I think I should be able to do this with win32all but the method is > not obvious. Preferably I would like to be able to get a handle to > the already running instance so that I can push it to the foreground > as well. There are ways using win32 to get the handle to the existing process, but I'm too rusty with win32 to offer that part of the solution. -- Paul McNett http://paulmcnett.com -- http://mail.python.org/mailman/listinfo/python-list