我的笔记本电脑有 14 英寸宽屏:相当宽,但不是很高。我发现将 Windows 任务栏放在屏幕左侧最方便,因为我可以节省宽度但不能节省垂直空间。
然而,在办公室时,我的电脑放在扩展坞上,连接到一个漂亮的大方形屏幕。在这里,我更喜欢将任务栏放在其默认位置,即底部。
当然,我知道如何在任务栏属性中手动切换两个任务栏位置。但我每天都要这样做几次,这很烦人。我的问题是:我可以让任务栏位置自动更改吗?
例如,在启动时(或从休眠状态唤醒)会运行一个脚本来检测:
- 屏幕形状是否高于 4:3?(或其他数字)
- 计算机是否已接入扩展坞?
如果是,则将任务栏放在底部,否则放在左侧。
有谁知道该怎么做或者能给我指点迷津吗?或者已经有可以做到这一点的实用程序了吗?
答案1
HKEY_CURRENT_USER = &H80000001
Set WshShell = CreateObject("WScript.Shell")
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set ObjRegistry = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
'Get curr. user name
Set colItems = objWMIService.ExecQuery("Select * From Win32_ComputerSystem")
For Each objItem in colItems
strCurrentUserName = objItem.UserName
Next
Set colItems = objWMIService.ExecQuery("Select * from Win32_DesktopMonitor",,48)
For Each objItem in colItems
intHorizontal = objItem.ScreenWidth
intVertical = objItem.ScreenHeight
Next
bottom = Array(&H28,&H00,&H00,&H00,&Hff,&Hff,&Hff,&Hff,&H02,&H00,&H00,&H00,&H03,&H00,&H00,&H00,&H3e,&H00,&H00,&H00,&H2e,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H82,&H04,&H00,&H00,&H80,&H07,&H00,&H00,&Hb0,&H04,&H00,&H00)
left_ = Array(&H28,&H00,&H00,&H00,&Hff,&Hff,&Hff,&Hff,&H02,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H3e,&H00,&H00,&H00,&H2e,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H3e,&H00,&H00,&H00,&Hb0,&H04,&H00,&H00)
if intVertical >= 800 then
regdata = bottom
else
regdata = left_
end if
ObjRegistry.SetBinaryValue HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2\", "Settings", regdata
'Restart user shell
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'Explorer.exe'")
For Each objProcess in colProcessList
colProperties = objProcess.GetOwner(strNameOfUser,strUserDomain)
If strUserDomain & "\" & strNameOfUser = strCurrentUserName then
objProcess.Terminate()
end if
下一个