Получить HWND окна IE с панели инструментов

Я разрабатываю панель инструментов для IE, и мне нужна панель инструментов, чтобы иметь возможность получить HWND содержащего окна IE. Он должен быть точным, чтобы несколько вкладок в одном окне возвращали один и тот же HWND, но отличающийся от другого окна IE.

Что было бы лучшим способом по этому поводу? Я должен быть в состоянии сделать это:

MessageBox.Show(Process.GetCurrentProcess().MainWindowHandle.ToString());

Но он всегда возвращает «0» в качестве HWND.


person directedition    schedule 30.12.2009    source источник
comment
Окно кадра находится в отдельном процессе.   -  person i_am_jorf    schedule 31.12.2009


Ответы (1)


Имейте в виду, что вам настоятельно не рекомендуется писать надстройки для браузера в .NET. Как Я пишу надстройку для IE 8 на чистом управляемом C#

Какой HWND вам нужен — внешнее окно или дескриптор окна холста рендеринга?

Ознакомьтесь с этой статьей и примером кода: http://msdn.microsoft.com/en-us/library/aa752126(VS.85).aspx

person EricLaw    schedule 31.12.2009
comment
Я знаю, что это очень, очень старо, но мне нужно получить HWND окна холста в C++ BHO. Кто-нибудь, кто может ответить на этот вопрос, или мне следует начать новый вопрос? - person Payton Byrd; 20.04.2016
comment
1. Вы должны открыть новый вопрос. 2. Использование термина «холст» выше теперь сбивает с толку, поскольку есть объект CANVAS. Я сомневаюсь, что сам объект холста имеет HWND. - person EricLaw; 20.04.2016