; 我说的更新 和修改不一样, ; 举个例子, 我创建一个快捷方式指向文件 E:\1 然后 把文件 移动到其他盘 变成 F:\1, ; 然后再次打开快捷方式时, 它的目标路径会自动更新到 F:\1 而不是原先的 E:\1, ; 现在我想实现的是在不打开快捷方式的情况下, 更新目录路径 lnk := "D:\播放测试.ahk.lnk" shellLink := ComObjCreate("{00021401-0000-0000-C000-000000000046}", "{000214F9-0000-0000-C000-000000000046}") persistFile := ComObjQuery(shellLink, "{0000010b-0000-0000-C000-000000000046}") DllCall(Vtable(persistFile, 5), "ptr", persistFile, "str", lnk, "uint", 0) DllCall(Vtable(shellLink, 19), "ptr", shellLink, "ptr", 0, "uint", 8) DllCall(Vtable(persistFile, 6), "ptr", persistFile, "ptr", 0, "int", true) ObjRelease(persistFile) ObjRelease(shellLink) Vtable(ptr, n) { ; By Tebayaki return NumGet(NumGet(ptr+0), n * A_PtrSize) }
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)