使用EnumDisplayDevices获取监视器的名称

使用EnumDisplayDevices获取监视器的名称,第1张

概述使用EnumDisplayDevices获取监视器名称

我遇到这个post,有人想用EnumdisplayDevices找出他们的显示器的名称。

这正是我想要的,我试图在C ++中做类似的事情,但是第二次调用EnumdisplayDevices似乎永远不会返回任何东西,我只能得到关于显卡的信息。

disPLAY_DEVICE dd; memset(&dd,sizeof(disPLAY_DEVICE)); dd.cb = sizeof(dd); int i = 0; while(EnumdisplayDevices(NulL,i,&dd,0)) { Log(_T("Device name: %s Device String: %s"),dd.Devicename,dd.DeviceString); if(EnumdisplayDevices(dd.Devicename,0)) { Log(_T("Monitor name: %s Monitor String: %s"),dd.DeviceString); } i++; }

我得到的输出是

Device name: \.disPLAY1 Device String: NVIDIA GeForce 9300 GE Device name: \.disPLAYV1 Device String: NetMeeting driver Device name: \.disPLAYV2 Device String: RDPDD Chained DD

目标平台是XP,我不能find显示器名称的任何标准方法。 有任何想法吗?

是否可以从一个包中启动一个预定的windows任务?

在windows上是否有nm的替代品?

使用node.Js区分真实的windows目录和“向后兼容的”目录

WMI查询到Win32_Directory不返回所有结果

knitr MP4电影embedded不起作用在windows XP上

谢谢。

python,windows 7,不能导入cv2

Qt – 通过双击打开一个自定义文件

用于windowsapp store的C ++ / CX http Web服务器

如何以编程方式(c#)valIDation国际文化(如中文)的驱动器号?

TBS.lib调用Tbsip_submit_Command()

第一次调用 EnumdisplayDevices之后dispDev.DeviceString包含图形卡的名称 。 第二次调用 dispDev.DeviceString包含监视器的名称后 。

另请参阅此链接获取此信息的其他方法

BOol GetMonitorInfo(int nDeviceIndex,LPSTR lpszMonitorInfo) { BOol bResult = TRUE; FARPROC EnumdisplayDevices; HINSTANCE hInstUserlib; disPLAY_DEVICE dispDev; char szDevicename[32]; hInstUserlib = Loadlibrary("User32.DLL"); EnumdisplayDevices = (FARPROC)GetProcAddress(hInstUserlib,"EnumdisplayDevicesA"); if(!EnumdisplayDevices) { Freelibrary(hInstUserlib); return FALSE; } ZeroMemory(&dispDev,sizeof(disPLAY_DEVICE)); dispDev.cb = sizeof(disPLAY_DEVICE); // After first call to EnumdisplayDevices dispDev.DeviceString //contains graphic card name if(EnumdisplayDevices(NulL,nDeviceIndex,&dispDev,0)) { lstrcpy(szDevicename,dispDev.Devicename); // after second call dispDev.DeviceString contains monitor's name EnumdisplayDevices(szDevicename,0); lstrcpy(lpszMonitorInfo,dispDev.DeviceString); } else { bResult = FALSE; } Freelibrary(hInstUserlib); return bResult; }

我认为Win32_DesktopMonitor可能更适合你正在做的事情。

总结

以上是内存溢出为你收集整理的使用EnumDisplayDevices获取监视器的名称全部内容,希望文章能够帮你解决使用EnumDisplayDevices获取监视器的名称所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1159783.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-01
下一篇2022-06-01

发表评论

登录后才能评论

评论列表(0条)

    保存