GetDC (NULL) pobiera podstawowy monitor lub ekran wirtualny?

Rozglądając się po sieci widzę, że większość ludzi uważa, że ​​GetDC (NULL) otrzyma kontekst urządzenia dla całegopodstawowa monitor (ten z 0,0 w lewym górnym rogu). Mam jednak wrażenie, że większość ludzi właśnie tak mówi, ponieważ to jest strona msdn dla GetDCmoc powiedz.

Jeśli jednak spojrzysz na dwie następujące strony (przynajmniej te dwie), wydaje się, że GetDC (NULL) zwraca kontekst urządzenia, który obejmuje caływirtualny ekran (ten, który obejmuje każdy monitor podłączony do systemu).

(1)https://www.microsoft.com/msj/0697/monitor/monitor.aspx -> przeszukaj stronę w poszukiwaniu „To pobiera RECT wirtualnego pulpitu” i spójrz na bity wokół tej instrukcji (szczególnie GetDC (NULL) powyżej).

(2)http://msdn.microsoft.com/en-gb/library/windows/desktop/dd162610%28v=vs.85%29.aspx -> wyszukaj stronę w poszukiwaniu „GetDC (NULL)”

Próbowałem dowiedzieć się, co to naprawdę jest, ale mnogość sprzecznych opinii pokonuje mnie.

Czy ktokolwiek ma z tego jakieś prawdziwe doświadczenie i może przetestować go na systemie wielomonitorowym? (Mam tylko jeden monitor, więc nie mogę.)

Czy dostaje DC pokrywający cały główny monitor LUB DC pokrywający cały wirtualny ekran?

Edytować

Jeśli ktoś chce go wypróbować, w moim systemie, jeśli utworzę projekt domyślny i umieścisz następujące elementy w WinMain, zmieni kolor ekranu na czarny. Jeśli masz wiele monitorów i próbujesz tego zrobić, pojawia się pytanie, czy zmienia to tylko główny monitor na czarny LUB wszystkie monitory?

HDC hdc = GetDC(NULL);
RECT r = {LONG_MIN, LONG_MIN, LONG_MAX, LONG_MAX};
FillRect(hdc, &r, (HBRUSH)(COLOR_BTNTEXT + 1));
ReleaseDC(NULL, hdc);

questionAnswers(2)

yourAnswerToTheQuestion