获取电脑多屏显示器分辨率

#include "stdafx.h"

#include<windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
    int  i;
    int monitorNum;
    BOOL flag;
    DISPLAY_DEVICE dd,dd1;

    i = 0;
    flag = true;

    DEVMODE dm;

    do
    {
        ZeroMemory(&dm, sizeof(dm));
        dm.dmSize = sizeof(dm);

        ZeroMemory(&dd, sizeof(dd));
        dd.cb = sizeof(dd);

        ZeroMemory(&dd1, sizeof(dd1));
        dd1.cb = sizeof(dd1);

        flag = EnumDisplayDevices(NULL, i, &dd, 0);
        if(!flag )
            break;

        printf("name is %s\n",dd.DeviceName);
        printf("DeviceString is %s\n",dd.DeviceString);
        EnumDisplayDevices(dd.DeviceName, 0, &dd1, 0);
        printf("dd1 is %s\n",dd1.DeviceString);

        printf("DISPLAY_DEVICE_ATTACHED_TO_DESKTOP is %d\n",dd.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP);
        EnumDisplaySettings(dd.DeviceName,ENUM_CURRENT_SETTINGS, &dm);
        printf("width is %d,height is %d \n",dm.dmPelsWidth,dm.dmPelsHeight);
        printf("\n\n");
        //printf("find\n");

        if (flag) i += 1;

    } while (flag);

    monitorNum = i;  // 总数量
    printf("SM_CMONITORS is %d;monitorNum is %d\n", GetSystemMetrics(SM_CMONITORS) ,monitorNum);

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值