首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Go读取快捷方式的目标

使用Go读取快捷方式的目标
EN

Stack Overflow用户
提问于 2017-05-24 21:02:13
回答 1查看 633关注 0票数 4

我试图使用Go读取快捷方式()文件(.lnk)的目标文件/目录。

对于目录中的所有文件,我已经有了一个循环,并且我可以成功地识别它是带有IsDir()的dir还是文件IsRegular()。现在,我需要一种方法来读取如果它是一个链接,如果它是一个.lnk,它的路径,以便我可以打印它。

我找不到任何方法来做这个,我一直在寻找,但什么也没有出现。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-05-24 21:30:57

你需要阅读Microsoft定义的lnk二进制格式

在Go中,它的结构将转换为(如在exponential-decay/shortcuts中使用的)

代码语言:javascript
运行
复制
//structs that make up the shortcut specification [76 bytes] 
type ShellLinkHeader struct {
   HeaderSize  [4]byte           //HeaderSize
   ClassID     [16]byte          //LinkCLSID
   LinkFlags   uint32            //LinkFlags      [4]byte
   FileAttr    uint32            //FileAttributes [4]byte
   Creation    [8]byte           //CreationTime
   Access      [8]byte           //AccessTime
   Write       [8]byte           //WriteTime
   FileSz      [4]byte           //FileSize
   IconIndex   [4]byte           //IconIndex
   ShowCmd     [4]byte           //ShowCommand

   //[2]byte HotKey values for shortcut shortcuts
   HotKeyLow   byte              //HotKeyLow
   HotKeyHigh  byte              //HotKeyHigh

   Reserved1   [2]byte           //Reserved1
   Reserved2   [4]byte           //Reserved2
   Reserved3   [4]byte           //Reserved3
}

这个项目应该给你一个如何解码快捷目标的想法。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44168401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档