2010-12-07 9 views
5

¿Cómo puedo obtener todas las ventanas que pertenecen a una ventana? (no es hijo)Acerca del propietario y ventana de propiedad en Windows

+0

¿Qué quiere decir con "propiedad" si no se refiere a un niño? – sje397

+2

Solo rompa la ventana y salte adentro. Por lo general, los mantienen debajo de la cama. –

+1

@ sje397 - "windows propiedad" en MSDN - http://msdn.microsoft.com/en-us/library/ms632599(v=VS.85).aspx#owned_windows –

Respuesta

10

Puede usar EnumWindows para obtener la lista de ventanas y luego, para cada identificador de ventana, llame a GetWindow con el indicador GW_OWNER para obtener el propietario. De esta forma, puede obtener la lista de ventanas propias para un manejador de ventana específico.

Eso es cierto. Una ventana principal no es la misma que la ventana del propietario.

-2

Supongo que quiere decir que querrá obtener las ventanas secundarias de la ventana, sus ventanas secundarias, etc. Para hacerlo, deberá llamar al EnumChildWindows.

+2

Mi suposición inicial es que, "(no es su hijo)", sería una respuesta bastante tonta. Una parte de mí no se sorprendería si no fuera así. –

+0

Eso no devolverá ventanas superpuestas o ventanas emergentes de nivel superior propiedad de la ventana actual. –

+0

Como dijo "Todas las ventanas son propiedad de una ventana", supongo que quiso decir "No solo es una incógnita en su pregunta. La superposición y las ventanas emergentes requieren iterar por todas las ventanas y verificar su propietario ... lo cual probablemente no sea lo él quería (aunque podría estar equivocado). –

2

De here ...

Una aplicación puede utilizar la función GetWindow con la bandera GW_OWNER a recuperar un identificador para el propietario de una ventana.

documented API on MSDN. GetWindow utilizado con los resultados del EnumWindows le dará las ventanas de su propiedad.

+0

No quiero conseguir el dueño, quiero todas las ventanas propiedad de una ventana dada. – lovespring

+0

Lo siento, me salté ese paso. Editado en ... pero es casi lo mismo que la respuesta de Jesús Oliva. –

Cuestiones relacionadas