Credo che una soluzione più comoda ed efficiente sia quella di usare la API EnumWindows.
Amaro C++, il gusto pieno dell'undefined behavior.
Regole del Forum