есть программа, которая вызывает метод в моей C# dll. В этом методе dll мне нужно иметь дескриптор окна программы/окна, которая вызвала мою dll.
как получить этот "вызывающий дескриптор окна"?
Спасибо!
есть программа, которая вызывает метод в моей C# dll. В этом методе dll мне нужно иметь дескриптор окна программы/окна, которая вызвала мою dll.
как получить этот "вызывающий дескриптор окна"?
Спасибо!
Это может вернуть дескриптор главного окна.
System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
Насколько я знаю, нет никакого способа получить конкретное окно, потому что это не более чем объект формы. Но у класса Form есть свойство Handle
. Вы можете передать его в качестве аргумента вызовам метода dll.
Вы не можете: окна не вызывают методы, код вызывает методы.
В идеале вы должны добавить в свой метод параметр дескриптора окна. Если это абсолютно невозможно, вы можете использовать, скажем, функцию GetActiveWindow
API, чтобы активировать окно в текущем потоке. Это не гарантирует работу; может окна не открыты.
Для чего нужна оконная ручка?
hwnd
? - person SLaks   schedule 09.03.2010