Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы приложение monitoraware работало как в системах, так и без поддержки нескольких мониторов, свяжите приложение с Multimon.h. Кроме того, необходимо определить COMPILE_MULTIMON_STUBS в одном файле C. Если система не поддерживает несколько мониторов, это возвращает значения по умолчанию из GetSystemMetrics, а несколько функций монитора действуют так, как только один дисплей. В нескольких системах мониторинга приложение будет работать нормально.
Поскольку отрицательные координаты могут произойти легко в многомониторной системе, необходимо получить координаты, упакованные в lParam, с помощью GET_X_LPARAM и макросов GET_Y_LPARAM.
Не используйте отрицательные координаты или координаты, превышающие SM_CXSCREEN, и SM_CYSCREEN для скрытия окна. Windows, которые используют эти ограничения для скрытия, могут появиться на другом мониторе. Аналогичным образом, не используйте эти ограничения, чтобы сохранить окно видимым, так как это может привести к привязке окна к основному монитору. Рекомендуется повторно искать существующие приложения для этих проблем. Однако можно свести к минимуму проблемы в существующих приложениях, запустив приложение на основном мониторе или сохранив основной монитор в левом верхнем углу виртуального экрана.
Обратите внимание, что SM_CXMAXTRACK и SM_CYMAXTRACK определены для рабочего стола, а не только для одного монитора. Windows, использующий эти ограничения, может потребоваться переопределяться.
Родительское или связанное окно может не находиться в том же мониторе, что и дочернее окно. Чтобы найти монитор окна, приложения должны использовать функцию MonitorFromWindow.
Чтобы сохранить экран на всех мониторах, свяжите ссылку с последней версией Scrnsave.lib. В противном случае средство сохранения экрана может отображаться только на основном мониторе и оставьте остальные мониторы нетронутыми. Средства сохранения экрана, связанные с последней версией Scrnsave.lib, будут работать как в одном, так и в нескольких системах мониторинга. Чтобы иметь разные средства сохранения экрана на каждом мониторе, используйте несколько функций монитора для обработки каждого монитора отдельно.
Устройства ввода, которые предоставляют координаты системе в абсолютных координатах, таких как планшеты, имеют свои входные данные курсора, ограниченные основным монитором. Чтобы переключить входные данные планшета между мониторами, см. инструкции изготовителя оборудования.
Чтобы сопоставить входные данные мыши, отправляемые в абсолютных координатах на весь виртуальный экран, используйте структуру вводас MOUSEEVENTF_ABSOLUTE и MOUSEEVENTF_VIRTUALDESKTOP.
Функция BitBlt хорошо подходит для нескольких систем мониторинга. Однако MaskBlt, PlgBlt, StretchBlt, а функции TransparentBlt завершаются ошибкой, если контексты исходного и целевого устройств отличаются.