Como faço para obter as dimensões (RECT) de todas as telas na API do win32?

Estou escrevendo um aplicativo para a equipe de testes. O que esse aplicativo faz é permitir que você tire uma captura de tela de qualquer parte da tela (e, em seguida, faz o upload para o servidor da equipe de teste com comentários).

Tirar screenshot envolve selecionar a região na tela para tirar screenshots de. Para isso estou criando uma janela semi-transparente e sobrepondo-a em toda a tela. Estou usando atualmenteGetDesktopWindow() eGetWindowRect() para obter as dimensões da tela, mas isso não funciona em ambientes com várias telas.

Como faço para sobrepor uma janela em todas as telas possíveis?

As configurações de tela podem ser bem exóticas, como:

     [LCD]
[LCD][LCD][LCD]

(4 ecrãs LCD - um no topo e 3 no fundo)

Ou

[LCD]     [LCD]
[LCD][LCD][LCD]
[LCD]     [LCD]

(7 telas de lcd - 3 à direita, 3 à esquerda, 1 no meio).

Etc.

Alguém sabe como eu poderia sobrepor 1 janela todas as telas? Eu me pergunto como seriam as dimensões no primeiro exemplo exótico, quando não há tela na linha superior esquerda e direita?

Talvez eu devesse estar criando uma janela de sobreposição por tela LCD?

Alguma ideia?

questionAnswers(2)

yourAnswerToTheQuestion