为了账号安全,请及时绑定邮箱和手机立即绑定

是否有可能通过 Golang 获取可执行文件图标?

是否有可能通过 Golang 获取可执行文件图标?

Go
Qyouu 2022-12-13 10:46:48
我正在尝试编写一个“下载页面网站”,并试图在我的网页上显示文件图标。与 Windows 系统一样,“.exe”文件内部有图标图像。或者linux可执行文件。我可以读吗?我知道 python 可以用一个包名“win32api”来完成,Golang 是否有任何包来实现这个功能?
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

你可以使用 linux 包来发挥你的优势。


例如,您可以使用icoextract,它可以通过 apt 安装:


apt install icoextract

然后像这样运行它:


icoextract /path/to/file.exe /path/to/file.ico

Go 使调用命令并使用包执行它们成为可能os/exec。所以你可以做类似的事情


func ExtractIcon(executablePath string) []byte {

    file, err := ioutil.TempFile("dir", "prefix")

    if err != nil {

        log.Fatal(err)

    }

    defer os.Remove(file.Name())

    cmd := exec.Command("icoextract", executablePath, file.Name())

    if err = cmd.Run(); err != nil {

        log.Fatal(err)

    }


    content, _ := ioutil.ReadFile(file.Name())

    return content

}


查看完整回答
反对 回复 2022-12-13
  • 1 回答
  • 0 关注
  • 137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信