I wrote a C# app back in .net 2.0 days, so that should work since embedded can get 3.0
This is ugly code from when I was a beginner, but you could write something up that uses the api calls found here and spends most of its time sleeping unless it sees a window that it needs to kill. Otherwse you might need to license an application that essentially does the same thing. :) Also, if you can't put .net on there, these are standard windows calls so any c++ programmer in the shop could put this together for you in about 2 hours.
using System.Runtime.InteropServices; // Dllimport
/// Summary description for WindowHiding.
public class WindowHiding
private const int sleepTime = 100;
// For findind the windows dialogs that popup when devices are detected
public static extern int ShowWindow (IntPtr hWnd, int nCmdShow);
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
//private const int SW_SHOW = 5;
private const int SW_HIDE = 0;
private const short WM_COPYDATA = 74;
public WindowHiding(ArrayList wNames)
this.windowNames = wNames;
// Spin a thread that hunts down and hides windows
public void hideWindows()
// Run until we are told to stop
// Look for each of the window names.
foreach (string wName in this.windowNames)
foundHardwareWindowHandle = FindWindow(null, wName);
if (foundHardwareWindowHandle.ToInt32() > 0)
// Found it. Hide it.
result = ShowWindow(foundHardwareWindowHandle, SW_HIDE);
// Do nothing...
// Go to sleep