正在尝试检测显示器
Trying to detect monitor
我正在尝试获取显示器以检查是否关闭。
在与GetDevicePowerState
检查之前,我正在尝试以这种方式检索监视器:
#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <winuser.h>
using namespace std;
int main(int argc, char *argv[])
{
POINT* p = new POINT;
p->x=0;
p->y=0;
HMONITOR* monitor = MonitorFromPoint(p,DWORD.MONITOR_DEFAULTTOPRIMARY);
system("PAUSE");
return EXIT_SUCCESS;
}
但它不断给我:
main.cpp `MonitorFromPoint' undeclared (first use this function)
我哪里做错了?
您的代码存在许多问题,但这些问题都不应导致您看到的错误消息。以下是一些更正的代码,并添加了更多内容以显示至少某种测试结果:
#include <iostream>
#include <windows.h>
int main(int argc, char *argv[])
{
POINT p{ 0, 0 };
HMONITOR monitor = MonitorFromPoint(p, MONITOR_DEFAULTTONULL);
if (monitor == NULL)
std::cout << "No monitor found for point (0, 0)n";
else {
MONITORINFOEX info;
info.cbSize = sizeof(info);
GetMonitorInfo(monitor, &info);
std::cout << "Monitor: " << info.szDevice << "n";
}
}
我已经用VC++ 2013和MinGW 4.8.1对此进行了测试,在这两种情况下,它都可以毫无问题地编译和运行,产生:
Monitor: \.DISPLAY1
。在这两种情况下都作为其输出。
相关文章:
- 使用CMake检测支持的C++标准
- 当套接字连接断开时检测C/C++Unix
- C/C++预处理器是否可以检测一些编译器选项
- WMI检测进程创建事件-c++
- 基于树莓pi的tensorflow lite量化ssd目标检测
- 下面是我为检测链接列表中的循环而制作的代码
- 落砂模拟碰撞检测C++和SFML
- 我可以检测和更改 gcc/g++ 中结构的当前数据对齐设置吗?
- 为什么C++编译器没有检测到正确声明的类?
- 检测win32服务创建和删除的最佳方法
- 正在LLVM中检测整数比较条件
- 如何在鼠标挂钩过程中检测拖动
- 位移操作和位掩码未检测到重复字符
- 检测 COFF 对象文件中C++内联符号
- qmake:检测目标位宽(32 位或 64 位)
- 增强精神解析器规则以检测语句中的特殊结尾
- 正在尝试检测显示器
- 检测/识别端口(HDMI,其他)显示器连接到Windows 7/8/10 win32c++
- SDL 检测高 DPI/视网膜显示器
- 有没有办法检测显示器是否插了电?