gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 00:43:32 25 4
gpt4 key购买 nike

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

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

我找不到任何方法可以做到这一点,我一直在搜索 SO 但没有出现。有什么想法吗?

最佳答案

您需要阅读 lnk binary format as defined by Microsoft

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

//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
}

该项目应该让您了解如何解码快捷方式目标。

关于go - 使用 Go 读取快捷方式的目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44168401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com