Да, есть возможность найти окно и закрыть его. Однако пользователь все равно увидит его.
Вы можете использовать метод PInvoke для FindWindow или использовать C # (предпочтительнее)
using System.Diagnostics;
Process[] processes = Process.GetProcessesByName("notepad");
foreach (Process p in processes)
{
p.CloseMainWindow();
}
Отсюда
Это только для закрытия верхнего приложения, я не знаю, можете ли вы найти подокно с Process.
Я знаю, что вы можете с PInvoke, см. Пример здесь
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
или
[DllImport("user32.dll", EntryPoint="FindWindow", SetLastError = true)]
static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);