Sí, esa es la única forma que conozco.
Pero debe controlar el hecho de que GFW puede devolver NULL. Normalmente, esto sucede cuando otro escritorio (por ejemplo, el escritorio del protector de pantalla) está activo. Tenga en cuenta que el uso de una contraseña de ahorro puede afectar el uso de un escritorio diferente (esto depende de la versión de Windows y no recuerdo los detalles de cómo funcionan las diferentes versiones).
También este código no funcionará correctamente en el modo de depuración en Visual Studio, porque obtendrá el identificador de ventana de VS.
Aparte :-) color de rosa de que todo
Eso es falso: "GetFocus devuelve la ventana con el foco del teclado para el actual cola de mensajes del hilo. [...] Use la función GetForegroundWindow para recuperar el identificador de la ventana con la que el usuario está trabajando actualmente ". –
Como dije: "si te refieres a la ventana que tiene el foco de entrada". – Stefan
Sí, me refiero a la ventana en la que el usuario está trabajando. Gracias –