We have a scripting engine (running under Windows) that launches another application several thousand times as we do our work. This other application has a busy user interface (main window pops up, flashes several dialogs, does it's work, then closes). Ideally, we'd like to completely suppress the user interface of the child application so the user can continue working on the workstation.
We don't have any control over the code of the other app, so we need to be able to achieve this result from our external process. We are launching the other process, so our app is the new process' owner, if that helps.
Forcing the main window of the app to be minimized by sending a window message after launch doesn't seem to be a good strategy, because we have the launch the app several thousand times over the course of our run (we could minimize the main window each time, but the experience to the user would, I think, still wind up with the focus changing and interrupting the rest of their work). Also, the app in question seems to intentionally call SW_SHOW, so even if we minimize the app, it comes back.
Does anyone have any creative or clever approaches to this? Maybe some way of pushing the app's UI into a different desktop that won't interfere with the user's regular work? (The problem here is that, I'm pretty sure, Windows doesn't support virtual desktops...).
Note that I'm fine with completely suppressing the UI of the child application.