Electron获取文件图标

笔者在做一个项目时,遇到了windows图标获取问题,尝试了以下方案都不好实现:

原生PowerShell方案

最兼容,但只能提取低分辨率 ico,当图标集成在项目中时非常难看;

node-windows-icon方案:

Electron 主进程下兼容性不佳,且 API 复杂,有时只能提取到低分辨率 ico,高清 png 支持有限。

直接说结论:ExtractIcon
  • 使用开源库:ExtractIcon
  • ExtractIcon 是一个C#编写的 Windows 命令行工具,可以将 exe、dll、pdf 等文件的图标以最高分辨率(支持256x256 PNG)导出为 PNG 文件。它不是 Node.js 库,但非常适合和 Electron/Node 项目集成。
    使用方法也非常简单:将 extracticon.exe 放到你的 Electron 项目目录,然后在项目中直接调用

    extracticon.exe file.exe file-icon.png
    • ExtractIcon.exe 是目前我觉得在 Windows 下提取高清 exe 图标最简单、最稳定的方案之一。
    • 你只需把 exe 文件放到项目里,通过 Node 的 child_process 调用即可,无需 npm 包、无需编译原生模块。
    • 适合 Electron、Node.js、任何 Windows 桌面应用。
    download
    来源:GitHub
    阅读剩余
    THE END