Я пытаюсь создать окно с определенным типом класса («VSDebugger CDataTipWnd»), однако, когда я запускаю CreateWindowEx, это терпит неудачу, и GetLastError сообщает мне, что класс не найден.Вот код для справки, хотя это не должно иметь значения:
const Win32WindowStyles dwStyle = Win32WindowStyles.WS_POPUP;
IntPtr wnd = NativeMethods.CreateWindowEx(0L, "VSDebugger CDataTipWnd", "MyWindow",
dwStyle, 100, 100, 100, 100, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero);
Я работаю как плагин в процессе, и я знаю, что окно этого класса было создано ранее (я убедился,с использованием Winspector / Spy ++), но когда я пытаюсь создать окно такого типа самостоятельно, оно не работает, и я не могу понять, почему.
Документация говорит, что «Имя класса может быть любым именем, зарегистрированным в RegisterClass или RegisterClassEx, при условии, что модуль, который регистрирует класс, является также модулем, который создает окно. Имя класса также может быть любым из предопределенных имен системных классов.список имен системных классов, см. раздел «Замечания».Возможно ли, что RegisterClass действительно был создан в другом модуле (dll / exe)?Делает ли просто создание класса в другом модуле недоступным по имени из другого модуля?Если да, могу ли я как-то найти этот класс и создать с ним окно?
Спасибо!Виталий