Obtener identificador de ventana de la ventana llamando
Pregunta
hay un software que llama a un método en mi C # DLL. En este método DLL que necesita tener el identificador de ventana del programa / ventana que llama mi DLL.
cómo conseguir este "identificador de ventana llamando"?
Gracias!
Solución
Esto puede devolver el asa de la ventana principal.
System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
Como sé que no hay manera de conseguir una ventana concreta, ya que no es más que objeto Form.
Pero clase de formulario tiene un Handle
propiedad. Puede pasar como argumento a dll llamadas a métodos.
Otros consejos
Usted no puede:. Ventanas no llaman a los métodos, el código llama a los métodos
Lo ideal es agregar un parámetro identificador de ventana a su método. Si eso es absolutamente imposible, se puede utilizar, por ejemplo, la función API GetActiveWindow
para obtener la ventana activa en el hilo actual. Esto no está garantizado para el trabajo; quizá no hay ventanas abiertas.
¿Qué necesita el identificador de ventana para?