Получить дескриптор окна вызывающего окна
Вопрос
существует программное обеспечение, которое вызывает метод в моей C # dll.В этом методе dll мне нужно иметь дескриптор окна программы / window, который вызвал мою dll.
как получить этот "дескриптор вызывающего окна"?
Спасибо!
Решение
Это может вернуть дескриптор главного окна.
System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
Насколько я знаю, нет никакого способа получить конкретное окно, потому что это не более чем объект формы.Но класс формы обладает свойством Handle
.Вы можете передать его в качестве аргумента при вызовах метода dll.
Другие советы
Ты не можешь:windows не вызывает методы, code вызывает методы.
В идеале вам следует добавить параметр дескриптора окна к вашему методу.Если это абсолютно невозможно, вы могли бы использовать, скажем, GetActiveWindow
Функция API для активации окна в текущем потоке.Это не гарантированно сработает;может быть, там нет открытых окон.
Для чего вам нужен дескриптор окна?