我使用笔记本电脑作为我的主工作站。有时我独自工作,但很大一部分时间,我在办公桌,我连接外部显示器,以增加我的工作空间。
每次执行此操作时,我都会在Windows Vista中单击相同的对话框来设置双屏并定位窗口。这似乎是一个可重复的任务,我可以自动化。
我希望能够插入我的显示器电缆,双击程序并让它自动配置显示器。
什么类型的程序可以做到这一点?我没有发现很多相关的在线。我正在考虑使用PowerShell尝试autohotkey脚本或Windows Accessibility API。这个问题已经解决了吗?
澄清:我特别希望自动化我使用鼠标调用Windows Vista中基本功能的步骤。
更新:Windows 7会自动执行此操作
我刚升级到Windows 7,它记得我的双显示器设置。我将它们设置为上面列出的工作一次,然后拔掉插头并在周末在家工作。星期一早上我进来了,启动了,插上电源,然后哇哇!它刚刚起作用。谢谢Windows 7!
答案 0 :(得分:1)
我没有看到现有的实用程序执行此操作,但使用Win32 API编写一个很容易。通过this page,EnumDisplayDevices获取显示设备列表,EnumDisplaySettingsEx获取当前设置,ChangeDisplaySettingsEx将进行更改。
DEVMODE.dmPosition字段应包含显示屏左上角的虚拟坐标,主监视器始终为(0,0),其他相对于此。
该工具需要两种模式,第一种将当前设置保存到配置文件,第二种模式应用配置中的设置。我只存储/检索显示设备索引,名称以及ChangeDisplaySettingsEx文档中提到的每个DEVMODE.dm *字段。基于文本的配置允许手动编辑。
答案 1 :(得分:0)
尝试UltraMon以获得出色的双显示器支持。我已经在很多不同的笔记本电脑和台式机上使用它多年了,效果很好。我只使用过XP,所以我不确定Vista是如何工作的。
答案 2 :(得分:0)
我的Lenovo T60p无需任何特殊步骤即可自动完成此操作。尝试升级您的视频驱动程序,并检查制造商的网站是否有任何可以执行此操作的实用程序。
答案 3 :(得分:0)
如果你有windows vista或7,你可以点击windows_key + P.你有很多选项可供选择,包括扩展
答案 4 :(得分:0)
我相信Ultramon实际上会工作。在系统托盘中Ultramon图标的右键菜单中,有一个“禁用/启用辅助”命令。
我想你可以简单地说:
答案 5 :(得分:0)
三年后,我回答了自己的问题!耶!!!
轻松编写脚本以下是使用Windows + 1和Windows + 2在一台显示器和两台显示器之间进行交换的示例脚本。 AutoHotKey还允许交换第二个监视器位置所需的单击和拖动行为。
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn ; Recommended for catching common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#1::
Send {LWin}
WinWaitActive Start menu
Send Adjust Screen Resolution
Send {enter}
WinWaitActive Screen Resolution
ControlClick ComboBox3
Send {PgDn}
Send {Up} ; Select "Show desktop only on 1"
Send {enter}
Sleep 3000 ; workaround - cannot select accept/revert window?
Send {left}
Send {enter} ; accept changes
Return
#2::
Send {LWin}
WinWaitActive Start menu
Send Adjust Screen Resolution
Send {enter}
WinWaitActive Screen Resolution
ControlClick ComboBox3
Send {PgDn}
Send {Up}
Send {Up} ; Select "Extend these displays"
Send {enter}
Sleep 3000 ; workaround - cannot select accept/revert window?
Send {left}
Send {enter} ; accept changes
Return