Windows – Run Multiple Instances of Any Application

multiple instanceswindows

Suppose some author has enforced his Windows application to be single instance. Is there any way to make multiple instance of this application (aside from running inside a virtual machine or requesting the author to rewrite the app)?

If there is a readymade tool, I would like to know it. (I have tried sandboxie and Altiris SVS without luck).

If there is nothing out there, I want to program a tool/hack that will let me do this.
I am looking for pointers where to start – what will be involved, what skills would be needed. I have moderate programming skills in C and Java.

If this cannot be done, please explain why.

EDIT: I know its a bad idea but I still need to do it (for various reasons). I want a generic way that works for any application and does not introduce errors.

Best Answer

Many applications check the global list of processes (with EnumProcesses, OpenProcess, GetModuleBaseName, and similar functions) or list of windows (with EnumWindows, EnumChildWindows).

You may try to set hook (see samples SetWindowsHookEx, CallNextHookEx, etc) to hook those specific API function calls from that application and replace requested data in response with yours to fool the application.