El objetivo es iniciar programáticamente Windows Form, obtener su identificador y enviar información a su función wndProc() utilizando la función SendMessage() de Win Api.¿Cómo se obtiene el identificador de una ventana principal de Process en C#?
Recibí la parte SendMessage() pero el problema ahora es obtener el identificador del formulario después de que se haya iniciado el proceso.
Mi primera suposición fue que la propiedad MainWindowHandle de Process me daría el control que estoy buscando, pero después de iniciar el proceso MainWindowHandle sigue siendo igual a 0 y el siguiente código no muestra el manejo del proceso que acabo de iniciar :
foreach (Process p in Process.GetProcesses())
{
Console.WriteLine(p.MainWindowHandle);
}
¿Alguien me puede decir cómo hacerlo y si realmente se puede hacer?
Intenta hacer 'Thread.Sleep (3000);' después de comenzar el proceso, mira si el resultado es diferente. Además, ¿qué proceso estás comenzando? ¿Tiene incluso una ventana? – SimpleVar
parece que poner el hilo a dormir hizo el truco. gracias –
@YoryeNathan ¿puedes poner tu comentario como la respuesta? –