Прежде всего следует отметить, что между окнами и классами окон нет отношения 1: 1, более одного окна могут использовать один и тот же класс.
Я полагаю, что ваш единственный вариант - вызывать EnumChildWindows рекурсивно, начиная с окна Visual Studio верхнего уровня (или какого-то другого окна выше в иерархии окон, если вы знаете одно, которое является прародителем окна VsTipWindow) Вы бы вызывали GetClassName и сравнивали строку с VsTipWindow, пока не найдете окно.
Поскольку вы говорили о неизвестном родителе, я предполагаю, что вы находитесь за дочерним окном, но если это окно верхнего уровня, вам нужно использовать EnumWindows (и вам, вероятно, следует использовать GetWindowThreadProcessId, чтобы убедиться, что вы получаете правильный процесс также после того, как вы найдете окно с этим именем класса)
(я уверен. В .NET есть функции, которые делают то же самое, что и нативный API, или вам придется выполнить PInvoke)