Hi, say I have an app running in the background from startup. Now say I added an option to the explorer context menu to launch the app by right-clicking a file (how would one pass that filename in as a parameter by the way?), I would only want one instance of my application open.

So in the new one that opens, is there a way for it to tell the already open one to call a specific function? And send that filename to it?

I really hope that was clear enough

I have attached a project that does what you want.
Parameters are passed on the command line. So if you set a File Association with your application, and double click it in the explorer, it will launch you application and pass the filename as a parameter.

The example project determines if your program is already running. If it is, then it will take its command line parameter and send a message to the first instance. Then closes itself. The first instance will receive the message and you can handle the file from that point on.

--Jerry

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.