是否可以让 Windows 7 使用自动热键检测显示器?
我的意思是,好像您通过控制面板,显示,检测监视器。
如果我的电脑闲置了一段时间,它就会丢失我的高清电视。如果我在楼上,我只需通过控制面板并重新检测。这解决了问题,但是,我想使用自动热键,这样我就可以在客厅使用遥控器重新检测。
提前感谢您的帮助。
乔恩
是否可以让 Windows 7 使用自动热键检测显示器?
我的意思是,好像您通过控制面板,显示,检测监视器。
如果我的电脑闲置了一段时间,它就会丢失我的高清电视。如果我在楼上,我只需通过控制面板并重新检测。这解决了问题,但是,我想使用自动热键,这样我就可以在客厅使用遥控器重新检测。
提前感谢您的帮助。
乔恩
很可能,你需要这样的东西......
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
这是来自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
样本输出:
罗伯特,谢谢你的回答(我还不能直接评论你的帖子)。我已经对代码进行了一些清理,并使其可以与其他语言一起使用:
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
您可以通过高级显示属性或驱动程序管理实用程序禁用图形卡的自动检测功能。通常越来越多的显卡会发送信号来测试显示器是否盖好,这样他们就可以“拔掉”它。