2013-02-16 67 views
3

是否有可能讓Windows 7使用autohotkey檢測顯示器?在Windows 7中檢測顯示器?

我的意思是,如果你通過控制面板,顯示,檢測顯示器。

如果我的電腦閒置一段時間,它會丟失我的HDTV。如果我在樓上,我只需通過控制面板並重新檢測。這解決了這個問題,但是,我想使用autohotkey,這樣我就可以在客廳中使用遙控器進行重新檢測。

在此先感謝您的幫助。

喬恩

+0

您現在使用哪些步驟? (一步步)。 – 2013-02-16 16:36:14

+0

請提供有關建議解決方案的一些反饋,其中一位回答者有幫助,然後請「接受」該答案。謝謝! – 2013-02-23 08:02:26

回答

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 
+0

謝謝你,我稍後再試。 – user2078506 2013-02-16 17:15:20

+0

對不起,花了一段時間,有另一個問題要理清。上面的代碼完美地工作。感謝您的幫助。喬恩 – user2078506 2013-02-28 13:39:39

0

您可以通過先進的顯示屬性或驅動程序管理實用程序禁用顯卡的自動檢測功能。 Usualy越來越多的圖形卡發送信號來測試顯示器是否蓋子,以便他們可以「拔掉」它。

0

使用autohotkey,您可以使用SysGet

SysGet, monitorCount, MonitorCount 

還有一堆其他參數可以使用。檢查上面的鏈接。

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

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