在Windows 7中检测显示器?

时间:2013-02-16 14:11:15

标签: autohotkey

是否可以让Windows 7使用autohotkey检测显示器?

我的意思是你好像通过控制面板,显示,检测显示器。

如果我的电脑闲置了一段时间,它会丢失我的高清电视。如果我在楼上,我只需通过控制面板重新检测。这解决了这个问题,但是,我想使用autohotkey,所以我可以在起居室里使用我的遥控器重新检测。

提前感谢您的帮助。

乔恩

5 个答案:

答案 0 :(得分:3)

最有可能的是,你需要这样的东西......

Run, "C:\Windows\System32\rundll32.exe" shell32`.dll`,Control_RunDLL desk`.cpl
Sleep, 400
Send, !c ; Send Alt+c for deteCt
Sleep, 1000
Send, {Enter} ; Send Enter to close
Return

答案 1 :(得分:1)

这是SysGet文档中的修改示例。

SysGet, MouseButtonCount, 43
SysGet, VirtualScreenWidth, 78
SysGet, VirtualScreenHeight, 79

SysGet, MonitorCount, MonitorCount
SysGet, MonitorPrimary, MonitorPrimary
Message .= "Monitor Count:`t" MonitorCount "`nPrimary Monitor:`t" MonitorPrimary
Loop, %MonitorCount%
{
    SysGet, MonitorName, MonitorName, %A_Index%
    SysGet, Monitor, Monitor, %A_Index%
    SysGet, MonitorWorkArea, MonitorWorkArea, %A_Index%
    Message .= "`n`nMonitor:`t#" A_Index "`nName:`t" MonitorName "`nLeft:`t" MonitorLeft "(" MonitorWorkAreaLeft " work)`nTop:`t" MonitorTop " (" MonitorWorkAreaTop " work)`nRight:`t" MonitorRight " (" MonitorWorkAreaRight " work)`nBottom:`t" MonitorBottom "(" MonitorWorkAreaBottom " work)"
}

msgbox % Message

示例输出:

enter image description here

答案 2 :(得分:1)

罗伯特,谢谢你的回答(我不能直接评论你的帖子)。 我已经清理了一些代码并使其与其他语言一起使用:

HOTKEY::
   Run, "C:\Windows\System32\rundll32.exe" shell32`.dll`,Control_RunDLL desk`.cpl
   WinWaitActive, ahk_class CabinetWClass 
   SendInput, +{Tab 2}{Space}{Enter} ;Select & press "Detect" button, then press "OK" button
Return

答案 3 :(得分:0)

您可以通过高级显示属性或驱动程序管理实用程序禁用图形卡的自动检测功能。 通常会有越来越多的图形卡发送信号来测试显示器是否有盖子,这样他们就可以“拔掉”它。

答案 4 :(得分:0)

使用autohotkey,您可以使用SysGet

SysGet, monitorCount, MonitorCount

还可以使用许多其他参数。检查上面的链接。