Получить имя DLL из дескриптора окна - PullRequest
1 голос
/ 21 октября 2019

Хорошо, я немного не уверен насчет этого, поэтому позвольте мне задать вопрос здесь.

Поискав в Интернете, я нашел несколько примеров того, как найти имя EXE из дескриптора окна, но это не такчто я после.

Представьте себе сценарий: исполняемый файл имеет ссылки на DLL, назовите ее MyLittleDLL.dll Эта DLL содержит несколько окон. Таким образом .exe вызывает некоторый метод в .dll, и .dll показывает пользователю окно.

Теперь - DLL на самом деле является надстройкой Outlook, которую мы написали. И MyLittleDLL.dll - это наша DLL.

Другой .exe-экземпляр создает новый Outlook.Inspector, и он показывает форму из нашей DLL. Я получаю все дочерние окна от инспектора. Они могут быть получены из НАШИХ dll или из любых других областей формы надстроек. Очевидно, что я не хочу связываться с этими , поэтому, просматривая список дочерних оконных дескрипторов, я хочу установить, является ли он "одним из наших", прежде чем отправлять на него какие-либо сообщения.

Таким образом, вопрос: с учетом hWnd (IntPtr), есть ли способ, которым я могу установить, что этот hWnd принадлежит MyLittleDLL.dll - другими словами - могу ли я получить имя сборки-владельца из hWnd ?

Я пишу код на VB.NET, но примеры на C # не проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...