none
Window API 如何得到多显示器的编号? RRS feed

  • 问题

  • 多显示桌面:Window API中是否有函数可以得到各显示桌面的准确编号?就像“显示”----“设置”----“识别”后得到的如1,2,3之类的编号?现在用如下代码:

    pStartEnumDisplayDevices = (pEnumDisplayDevices)GetProcAddress(LoadLibrary("USER32"), "EnumDisplayDevicesA");

    DISPLAY_DEVICE device;
    device.cb=sizeof(device);

    int iCount2=0;

    for (i=0;(*pStartEnumDisplayDevices)(NULL, i, &device, 0);i++)

    {
    if (device.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP) 
    {
    CString temp;
    temp.Format(_T("%s"),device.DeviceName);
    DEVMODE p_dev;
    p_dev.dmSize=sizeof(p_dev);
    p_dev.dmFields=0x00000020L;
    iCount2++; //系统枚举自动计数

             }

    }

    得到的iCount2跟“显示”----“设置”----“识别”后得到的编号对不上。


    2018年3月13日 10:02