我知道如何使用 Windows Script Host (链接) 创建快捷方式。但我需要的是创建快捷方式并放置在特定位置,而无需手动使用鼠标来放置它们。这可以通过脚本(例如,PowerShell 等)实现吗?
原因是我喜欢编写 Windows 设置脚本,以便设置脚本可以受到更改控制(例如,Git)。
我知道如何使用 Windows Script Host (链接) 创建快捷方式。但我需要的是创建快捷方式并放置在特定位置,而无需手动使用鼠标来放置它们。这可以通过脚本(例如,PowerShell 等)实现吗?
原因是我喜欢编写 Windows 设置脚本,以便设置脚本可以受到更改控制(例如,Git)。
这是相当复杂的,因为使用像桌面这样的资源管理器视图需要使用几个不支持脚本的 COM 对象,但可以在 PowerShell 中通过在某些嵌入式 C# 中声明本机函数和结构的 .NET 表示来完成。基于这篇 Raymond Chen 的文章,我写了这个脚本:
WScript.Shell
如果快捷方式不存在,它会使用经典脚本组件来创建快捷方式,然后使用 shell COM API 来查找和重新定位快捷方式。例如,如果那个大脚本被保存为
positionedshortcut.ps1
,下面的命令会在 (1000, 400) 附近创建一个名为“Friendly Shell”的有点傻的快捷方式,它会启动一个带有问候语的命令提示符。如果已经存在具有该名称的快捷方式,它将被移回该位置,但不会更改。要设置其他快捷方式属性,请像平常一样操作
$shortcut
对象。新坐标以$point
像素为单位;如果您需要适应不同的屏幕尺寸,您也可以从脚本中获取屏幕分辨率。