Может быть, я просто отсутствуют какие-то глупые ссылки на MSDN, но я не могу показаться, чтобы найти список возможных значений RegisterWindowMessage() может приниматьRegisterWindowMessage Возможные значения
только один я могу найти «WM_HTML_GETOBJECT». Я нашел это на pinvoke.net. Это, однако, я считаю, что это разбивает мое заявление, потому что я пытаюсь получить это IHTMLDialog и не IHTMLDocument
Я посмотрел на
A google search for RegisterWIndowMessage list of possible values
Another google search for send message types
Может быть, я ищу неправильные вещи, но я уверен, что не могу найти его.
Моя заявка не здесь:
Dialog = (IHTMLDialog)ObjectFromLresult(lRes, typeof(IHTMLDialog).GUID, IntPtr.Zero);
Однако я считаю, что проблема произошло дальше вверх по трубопроводу здесь:
uint iMsg = RegisterWindowMessage("WM_HTML_GETOBJECT");
Поскольку это не HTML документ, но на самом деле диалог.
Если это поможет я получаю HWND в диалоге так:
IntPtr hwnd = FindWindow("Internet Explorer_TridentDlgFrame", "Google -- Webpage Dialog");
Вот полный фрагмент того, что я пытаюсь сделать, если это поможет:
UIntPtr lRes;
IHTMLDialog Dialog;
IntPtr hwnd = FindWindow("Internet Explorer_TridentDlgFrame", "Google -- Webpage Dialog");
uint iMsg = RegisterWindowMessage("WM_HTML_GETOBJECT");
if (SendMessageTimeout(hwnd, iMsg, IntPtr.Zero, IntPtr.Zero, SendMessageTimeoutFlags.SMTO_ABORTIFHUNG, 1000, out lRes) == IntPtr.Zero)
{
MessageBox.Show("operation failed");
}
else
{
Dialog = (IHTMLDialog)ObjectFromLresult(lRes, typeof(IHTMLDialog).GUID, IntPtr.Zero);
}
Спасибо за разъяснение, что для меня. Значит, сама строка не важна, если приложение поддерживает ее? Это означает, что мой код не работает в ObjectFromLresult по другой причине. Я буду исследовать и задавать отдельный вопрос по мере необходимости. –
@AlexanderRyanBaggett: Не ясно, чего вы пытаетесь достичь. 'RegisterWindowMessage' is *" обычно используется для регистрации сообщений для связи между двумя взаимодействующими приложениями. "* Пример, который вы использовали [был введен с IE 4] (https://support.microsoft.com/en-us/help/249232/). Он больше не может поддерживаться. Но что вы в конечном итоге пытаетесь достичь? – IInspectable
Я пытаюсь получить программный доступ к модальному диалогу, который загружается на страницу в веб-браузере. –