- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
目前我有一个函数,我希望它返回事件监视器的数量(通过使用 EnumDisplayDevices)。
...
DISPLAY_DEVICE dd;
dd.cb = sizeof(DISPLAY_DEVICE);
while (EnumDisplayDevices(NULL, numberofDeviceAdapters, &dd, EDD_GET_DEVICE_INTERFACE_NAME))
{
if (dd.StateFlags == DISPLAY_DEVICE_ACTIVE)
{
numberOfActiveMonitors++;
}
numberofDeviceAdapters++;
}
return numberOfActiveMonitors;
numberOfActiveMonitors 永远不会增加,如何正确检查 DISPLAY_DEVICE 的 StateFlags?
最佳答案
如果您阅读 DISPLAY_DEVICE
data structure 的 MSDN 文档,你会注意到:
StateFlags
Device state flags. It can be any reasonable combination of the following.
[...]
因此,您应该使用二进制 &
(按位与)运算符 来检查所需的标志(在您的情况下为 DISPLAY_DEVICE_ACTIVE
)在上述数据结构的 StateFlags
数据成员中设置。
例如:
// Your code:
// if (dd.StateFlags == DISPLAY_DEVICE_ACTIVE)
//
// Change to (use binary AND & operator):
if (dd.StateFlags & DISPLAY_DEVICE_ACTIVE)
{
...
}
这是 Win32/C++ 编程中非常常见的模式,用于检查给定的二进制标志是否设置在包含多个标志的 DWORD
中。
关于c++ - 检查 EnumDisplayDevices dwFlags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26957186/
我正在查看 ChangeDisplaySettings 的 MSDN 文档.对于 dwFlags 选项,您可以传入 0 或其他列出的标志之一。但是,我无法弄清楚如何直接引用这些标志,也无法弄清楚它们的
目前我有一个函数,我希望它返回事件监视器的数量(通过使用 EnumDisplayDevices)。 ... DISPLAY_DEVICE dd; dd.cb = sizeof(DISP
我可以安全地将局部变量 DWORD dsBytes, dwFlags = 0 传递到 async WSARecv 中吗?从以前的完成例程调用或者它们可以在 WSARecv 结束其使用之前超出范围?MS
我是一名优秀的程序员,十分优秀!