当我创建另一个快捷方式 (A) 的快捷方式 (B) 时,它采用快捷方式 A 的路径

When I create shortcut (B) to another shortcut (A) its taking path of Shortcut A

我创建了快捷方式 A,其目标路径为 "C:\firefox.exe" -P "profile one" -no-remote

然后我创建一个指向此快捷方式 A 的桌面快捷方式(快捷方式 B)。但是快捷方式 i 中的路径(即使我告诉它 shellLink.SetPath 到快捷方式 A 的路径)设置为快捷方式 A.

的目标

违背我的目的。因为我根据用户设置更改命令行参数或快捷方式 A 的目标路径。但我希望桌面快捷方式(快捷方式 B)不需要修改,因为它将指向快捷方式 A。我想要这个的原因是因为我最初在桌面上为用户创建快捷方式 B,但用户可能会将其移动到另一个文件夹,所以我找不到它并更新它的构建路径等。而快捷方式 A 保存在我的一个文件夹中,我总是知道它的路径。

那么有没有办法确保快捷方式B的目标路径是快捷方式A的位置路径(而不是快捷方式A的目标路径)

谢谢!

我用了CreateHardLink:

图标更新传播到其他,目标更新传播,但文件名更新不传播,非常甜蜜。谢谢你!

显然 CreateSymbolicLink 需要更高的权限,所以我努力 link 并且成功了,但需要我努力 link 才能在目标文件之后的另一个目录中。

尽管我在之前的评论中写了什么,显然创建快捷方式的快捷方式 以编程方式从 Windows 7 开始通过使用 the SLDF_ALLOW_LINK_TO_LINK flagIShellLinkDataList::SetFlags.