Windows多顯示器編程的方法

    時間:2024-07-01 09:57:06 硬件維護 我要投稿
    • 相關推薦

    Windows多顯示器編程的方法

      一、Windows中接入多個顯示器時,可設置為復制和擴展屏。

      1、設置為復制屏幕時,多個顯示器的分辨率是一樣的,位置為0~分辨率值

      2、設置為擴展屏幕時,顯示器之間的關系比較復雜些。首先Windows系統會識別一個主顯示器,這個可以在屏幕分辨率中更改。多個顯示器之間的位置關系也可以再屏幕分辨率中更改。其中主顯示器的位置為(0,0)到(width,height),其他顯示器位置由與主顯示器的位置關系決定,在主顯示器左上,則為負數,用0減去長寬;在右下,則由主顯示器的分辨率加上長寬。其中驅動或用mouse_event處理時也是一樣,主顯示器為0~65535,其他顯示器根據主顯示器的相對位置確定。

      二、相關程序和API如下:

      1、獲取當前顯示器的分辨率

      m_iCurScrWidth = ::GetSystemMetrics(SM_CXSCREEN);m_iCurScrHeight = ::GetSystemMetrics(SM_CYSCREEN);

      2、移動窗口位置

      MoveWindow(0, 0, m_iCurScrWidth, m_iCurScrHeight);//移動窗口ModifyStyle(WS_CAPTION,0,0);//取消標題欄

      3、獲取顯示器數量

      復制代碼 代碼如下:GetSystemMetrics(SM_CMONITORS);

      4、獲取顯示器的相對位置于分辨率

      void GetScreenRect(int ScreenNo){BOOL flag;DISPLAY_DEVICE dd; ZeroMemory(&dd, sizeof(dd)); dd.cb = sizeof(dd);flag = EnumDisplayDevices(NULL, ScreenNo, &dd, 0);if (!flag) return;DEVMODE dm;ZeroMemory(&dm, sizeof(dm));dm.dmSize = sizeof(dm);flag = EnumDisplaySettings(dd.DeviceName,ENUM_CURRENT_SETTINGS, &dm);m_ScrRect[ScreenNo].left = dm.dmPosition.x;m_ScrRect[ScreenNo].top = dm.dmPosition.y;m_ScrRect[ScreenNo].right = dm.dmPelsWidth;m_ScrRect[ScreenNo].bottom = dm.dmPelsHeight;}

    【Windows多顯示器編程的方法】相關文章:

    顯示器的修理方法09-27

    顯示器故障的檢查方法10-04

    微軟Windows7自動安裝的方法07-23

    Windows7加快系統速度的方法08-12

    javascript編程異常處理的方法08-04

    Windows系統常見的幾個故障及解決方法08-12

    數控車床編程入門方法07-16

    快速入門數控加工中心編程的方法08-13

    液晶顯示器出現死機故障維修方法11-15

    關于編程之PHP常用MySql操作的方法06-26

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      亚洲美女高潮久久久久91 | 亚洲黑白配在线观看 | 日韩v国产v欧美v | 色综合久久久久网 | 中日高清字幕一区二区版在线观看 | 亚洲欧美在线六月综合 |