HMONITOR e o contexto do dispositivo
Cada exibição física é representada por um identificador de monitor do tipo HMONITOR. Uma HMONITOR válida é garantida como não NULL. Uma exibição física tem o mesmo HMONITOR, desde que faça parte da área de trabalho. Quando uma mensagem de WM_DISPLAYCHANGE é enviada, qualquer monitor pode ser removido da área de trabalho e, portanto, sua HMONITOR se torna inválida ou tem suas configurações alteradas. Portanto, um aplicativo deve verificar se todos os HMONITORS são válidos quando essa mensagem é enviada.
Qualquer função que retorna um DC (contexto de dispositivo de exibição) normalmente retorna um DC para o monitor primário. Para obter o DC para outro monitor, use a funçãoEnumDisplayMonitors. Ou você pode usar o nome do dispositivo da função GetMonitorInfo para criar um DC com CreateDC. No entanto, se a função, como GetWindowDC ou BeginPaint, obtiver um DC para uma janela que abrange mais de uma exibição, o DC também abrangerá as duas exibições.