Предполагая, что у вас нет дескриптора окна, вы можете взаимодействовать с Win32 и делать следующее:
В некотором вызове метода:
CallBackPtr callback = WindowEnumeration;
EnumWindows(callback, IntPtr.Zero);
Затем он вызовет следующее, чтобы найтиокно и закройте его, просто замените на как можно более понятный заголовок окна, чтобы предотвратить закрытие окон, которые не были предназначены для закрытия.
private bool WindowEnumeration(IntPtr hwnd, IntPtr lParam)
{
_windowName.Clear();
if (GetWindowText(hwnd, _windowName, _windowName.Capacity) != 0)
{
if (_windowName.ToString().Contains("<title>"))
{
PostMessage(window, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
}
}
return true;
}
Информация для вызова Win32 можетможно найти в MSDN или pinvoke.net