Программное обеспечение может изменять настройки DPI Awareness для windows, созданного указанным потоком c (используя функцию SetThreadDpiAwarenessContext
), в этом случае вызов GetDpiForWindow
для такого windows затем даст (потенциально) другое значение, чем вызов GetDpiForSystem
.
Кроме того, даже в пределах определенного потока (или процесса) можно изменить DPI Осознание с помощью вызова вышеупомянутой функции, создайте новое окно, затем вернитесь к предыдущим настройкам и создайте другое окно. Затем эти два windows будут иметь (возможно) различные значения DPI от друг друга (в зависимости от того, был ли выполнен исполняемый файл с включенной поддержкой DPI).