Como posso obter números de monitores da caixa de diálogo Resolução de tela no win7 programaticamente?

Quando você pressiona o botão Identify na caixa de diálogo Screen Resolution, o Windows mostra grandes números de monitores brancos em cada monitor. Foi fácil encontrá-los programaticamente junto com as coordenadas do monitor no Windows XP (com EnumDisplayDevices), mas no Windows 7 ele está quebrado. Como eu posso fazer isso?

EnumDisplayDevices e GetMonitorInfo sãonão é mais confiável para o efeito no Windows 7.Eu tentei GetMonitorInfo e, em seguida, extrair o número do monitor de MONITORINFOEX.szDevice (I.E. \. \ Display2) sem sucesso. Outro homemfez isso também há dois anos e alegou que getMonitorInfo tem um bug.Este bug foi marcado como corrigido pela Microsoft sem nenhum comentário, mas ainda pode ser reproduzido em uma máquina win7 com as atualizações mais recentes. (Btw, alguém pode me dizer - talvez esse bug está ausente no win8?)eu tenteiQueryDisplayConfig da nova API do CCD, mas não encontrou informações necessárias.

Alguém sabe o caminho?

questionAnswers(2)

yourAnswerToTheQuestion