我使用EnumDisplayDevices来获取有关当前会话中显示设备的信息。
但无论会话如何,我都需要有关显示设备的信息。因为我创建了一些 Windows 服务应用程序(系统进程)。
有谁知道此代码的替代方法:
vncDesktop::GetNrMonitors()
{
if(OSversion()==3 || OSversion()==5) return 1;
int i;
int j=0;
helper::DynamicFn<pEnumDisplayDevices> pd("USER32","EnumDisplayDevicesA"); // it's EnumDisplayDevices function
if (pd.isValid())
{
DISPLAY_DEVICE dd;
ZeroMemory(&dd, sizeof(dd));
dd.cb = sizeof(dd);
for (i=0; (*pd)(NULL, i, &dd, 0); i++)
{
if (dd.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP)
if (!(dd.StateFlags & DISPLAY_DEVICE_MIRRORING_DRIVER))j++;
}
}
return j;
}
提前致谢!