Tob*_*duc 5 shell32 wsh shortcut ms-office
我一直在尝试查找有关存储在从 MS-Office for SharePoint 库生成的 url 快捷方式中的值的任何信息。我们正在从 Office 2007 迁移到 Office 365,并且创建这些链接的 2007 功能在 Office 365 中似乎不可用。
如果 .url 文件在另存为对话框中单击它时没有 IDList 值,它会将文件名更改为快捷方式。我尝试将 .url 更改为 .lnk 但非办公室应用程序无法处理它们。
.url 文件的内容
[InternetShortcut]
IDList=UAwHYBGLNCi66kGEieNCAsCMw0pTAMcAlzFXj9mZr5yalx2b35WYuMWYcRUY2d1VXJ1bvRHAXVmYgMEbpVmb0BiTlR3dvJ3aAgGd0BnOv8yYvZ2ausWZs92duFmLjFGAuAATAEDAAAAAAAAAAAAEAQXZh12cAgDAIAABA8uvAAAAAAAAAAgKAAAAAAAAAAAAAAAAAAAA8gPuuBAAAAAAAQHAlBQYA0GAzBAAAQBAKBQMAAAAAAAAAAAAQAQZk12cAAgNAgAAEAw7+CAAAAAAAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQZAQGAtBwcAAAAUAAAAA
URL=file://blart/DavWWWRoot/teams/edms
IconFile=C:\ProgramData\Microsoft\Office\SharePointTeamSite.ico
IconIndex=0
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,9
Run Code Online (Sandbox Code Playgroud)
同一用户重新生成的文件
IDList=UAwHYBGLNCi66kGEieNCAsCMw0pTAMcAlzFXj9mZr5yalx2b35WYuMWYcRUY2d1VXJ1bvRHAXVmYgMEbpVmb0BiTlR3dvJ3aAgGd0BnOv8yYvZ2ausWZs92duFmLjFGAuAATAEDAAAAAAAAAAAAEAQXZh12cAgDAIAABA8uvAAAAAAAAAAgKAAAAAAAAAAAAAAAAAAAA0baRNAAAAAAAAQHAlBQYA0GAzBAAAQBAKBQMAAAAAAAAAAAAQAQZk12cAAgNAgAAEAw7+CAAAAAAAAAAqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQZAQGAtBwcAAAAUAAAAA
Run Code Online (Sandbox Code Playgroud)
来自另一个用户的文件的值
IDList=UAwHYBGLNCi66kGEieNCAsCMw0pTAMcAlzFXj9mZr5yalx2b35WYuMWYcRUY2d1VXJ1bvRHAXVmYgMEbpVmb0BiTlR3dvJ3aAgGd0BnOv8yYvZ2ausWZs92duFmLjFGAuAATAEDAAAAAAAAAAAAEAQXZh12cAgDAIAABA8uvAAAAAAAAAAgKAAAAAAAAAAAAAAAAAAAA4BZpCAAAAAAAAQHAlBQYA0GAzBAAAQBAKBQMAAAAAAAdHBlfQAQZk12cAAgNAgAAEAw7+qXQJdJdHBlfqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQZAQGAtBwcAAAAUAAAAA
Run Code Online (Sandbox Code Playgroud)
我一直无法弄清楚如何解码这个值,或者我无法弄清楚其中存储了哪些数据。我已经阅读了许多不同的方法来使用 Windows 脚本和 shell 32 在 Powershell 和 C# 包装器中以编程方式创建快捷方式,C++ 寻找任何信息。我唯一的一线希望是 shell 链接也有一个 pidl 的项目 ID 列表,但我无法确认这是否相关。
我所知道的是,可以将 IDList 移动到另一个 .url,它会将您带到原始路径。IDList 的某些部分会根据创建它们的用户或重新创建 url 文件的时间而变化。
Internet 快捷方式 https://msdn.microsoft.com/en-us/library/bb776784(v=vs.85).aspx
.URL 文件格式没有正式记录,仅记录了 IDList 格式的前 2 个字节。
我相信 IDList 字符串过去是通过调用来存储的WritePrivateProfileStruct,并且在某些时候更改为您发布的格式。一个名为 的函数TextToBinary将字符串解码为IStream实例,但我没有费心去尝试找出格式。流被填充到 a 中PROPVARIANT,记录的IUniformResourceLocator接口知道如何为您处理所有这些,但不幸的是 idlist 条目没有记录为您可以读/写的属性。
.INI 字符串解码和一些基本格式化后的 PIDL (IDList) 如下所示:
:1: 20 bytes
{208D2C60-3AEA-1069-A2D7-08002B30309D}:Network
:2: 78 bytes
4E 00 C3 01 E5 5C 5C 63 6F 66 6B 2E 6B 65 6C 6F N....\\c ofk.kelo
77 6E 61 2E 63 61 5C 44 61 76 57 57 57 52 6F 6F wna.ca\D avWWWRoo
74 00 57 65 62 20 43 6C 69 65 6E 74 20 4E 65 74 t.Web Cl ient Net
77 6F 72 6B 00 68 74 74 70 3A 2F 2F 63 6F 66 6B work.htt p://cofk
2E 6B 65 6C 6F 77 6E 61 2E 63 61 00 2E 00 __ __ .kelowna .ca...
:3: 76 bytes
4C 00 31 00 00 00 00 00 00 00 00 00 10 00 74 65 L.1..... ......te
61 6D 73 00 38 00 08 00 04 00 EF BE 00 00 00 00 ams.8... ........
00 00 00 00 2A 00 00 00 00 00 00 00 00 00 00 00 ....*... ........
00 00 00 00 3C F8 B8 6E 00 00 00 00 00 00 74 00 ....<..n ......t.
65 00 61 00 6D 00 73 00 00 00 14 00 __ __ __ __ e.a.m.s. ....
:4: 74 bytes
4A 00 31 00 00 00 00 00 00 00 00 00 10 00 65 64 J.1..... ......ed
6D 73 00 00 36 00 08 00 04 00 EF BE 00 00 00 00 ms..6... ........
00 00 00 00 2A 00 00 00 00 00 00 00 00 00 00 00 ....*... ........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 00 ........ ......e.
64 00 6D 00 73 00 00 00 14 00 __ __ __ __ __ __ d.m.s... ..
:5: 0 bytes
Run Code Online (Sandbox Code Playgroud)
要求 shell 转换这个 PIDL 后的结果是\\cofk.kelowna.ca\DavWWWRoot\teams\edms。
您发布的 3 个示例之间的区别仅在于 PIDL ( teams\edms) 的路径部分,可能是文件夹的修改日期或未初始化的数据。
| 归档时间: |
|
| 查看次数: |
1126 次 |
| 最近记录: |