Вы можете использовать WinApi для перечисления окон.
Вы можете начать поиск с помощью
[DllImport("user32.dll")]
public static extern int EnumWindows(EnumWindowsProc ewp, int lParam);
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool GetWindowRect(IntPtr hWnd, ref WapiRect lpRect);
Когда вы нашли свое окно и у него есть дескриптор, нет проблем построить на нем что-то вроде
Graphics g = Graphics.FromHwnd(win.Handle);
g.FillRectangle(new SolidBrush(Color.White), 0, 0, 1000, 1000);
Но для наложения ... Одно из возможных решений - создать собственную форму без рамки (ее можно сделать даже прозрачной) и разместить на ней свой текст. Затем просто поместите эту специальную форму поверх другого приложения.