Pergunta

Se eu tiver um identificador para uma janela, como faço para tirar um screenshot de quaisquer novas janelas filho quando elas aparecem? Agora eu tenho o código que leva um screenshot a cada .1 segundos de uma janela formar. Quando eu clicar em uma caixa de lista suspensa as imagens subsequentes não incluí-lo. Usando espião ++ eu posso ver que uma nova janela filho foi criado mas não sabe como se certificar de que está incluído nos meus screenshots. Alguém tem qualquer código que pode incluir janelas filho?

Agradecemos antecipadamente,

Bob

Foi útil?

Solução

Sim, a lista suspensa de uma caixa de combinação é uma janela especial, uma caixa de listagem. O .NET não fornece uma maneira interna para obter o identificador para ele, você pode P / Invoke SendMessage e enviar a mensagem CB_GETCOMBOBOXINFO. COMBOBOXINFO.hwndList contém o identificador.

Note que existem outros controles que se comportam dessa forma, DateTimePicker por exemplo. Observe também que a janela pode se estender além dos limites do seu formulário.

O código na esta discussão deve ser útil para obter o / Invoke direito P.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top