Cabalmente no sé por qué funciona. Lo que entiendo es que SetForegroundWindow no funciona bien si la aplicación que la llama no es la aplicación que tiene el foco, como puede ocurrir ocasionalmente. Y hasta donde entiendo, AttachThreadInput hace que la aplicación se comporte como si tuviera el foco, o mejor dicho, lo comparte con la aplicación que lo tenga.
No creo que presente ningún problema colateral, sobre todo porque el foco se despega inmediatamente después de la llamada a SetForegroundWindow.
// Saludos
|