我有一个用 C++ 编写的自定义应用程序,它控制连接到嵌入式系统的监视器上的分辨率和其他设置。有时系统会无头启动并通过 VNC 运行,但可以稍后插入监视器(启动后)。如果发生这种情况,在启用监视器之前,他的监视器不会收到任何视频。我发现调用“displayswitch /clone”可以启动显示器,但我需要知道显示器何时连接。我有一个每 5 秒运行一次并查找监视器的计时器,但我需要一些 API 调用来告诉我监视器是否已连接。
这是一些伪代码来描述我所追求的(定时器每 5 秒到期时执行的操作)。
if(If monitor connected)
{
ShellExecute("displayswitch.exe /clone);
}else
{
//Do Nothing
}
我试图GetSystemMetrics(SM_CMONITORS)
返回监视器的数量,但如果监视器已连接,它会返回 1。还有其他想法吗?
谢谢!