У меня есть небольшой экран 2160 x 1440, поэтому я использую 150% масштабирование на нем в Windows.Функции позиции курсора, возвращающие неправильное значение
Использование Cursor.Position
или даже GetCursorPos/GetPhysicalCursorPos
я всегда получаю отмасштабированные координаты на моем экране (например, (2160, 1440) становится (1440, 960).
Я уверен, что это недавнее изменение, так как я использовал Cursor.Position
раньше на этом экране без проблем.
Как это поведение можно объяснить? Почему как GetCursorPos
и GetPhysicalCursorPos
возвращают то же значение, когда они должны быть разными на моем экране?
и самое главное, это единственный способ получить t он правильные значения, регулирующие возврат этих функций с помощью DPI?
Вы пытались экспериментировать с функцией PhysicalToLogicalPoint? – sharpener
Просто попробовал это с помощью 'GetDesktopWindow()' в качестве дескриптора. Значения координат не изменились к сожалению. Любые другие предложения? – Royce