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!

¿Fue útil?

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?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top