本站承诺永不接任何虚假欺骗、联盟广告、弹窗广告、病毒广告、诱导充值等影响用户体验的广告,广告屏蔽插件会影响本站部分功能,还请不要屏蔽本站广告,感谢支持!

当前位置:首页 / 正文

2023-03-27 | 编程技术 | 1235 次阅读 | 等你评论 | 1 次点赞 | 繁体

计划使用 golang 语言编译一系列实用工具,提高自己的工作效率。发现编译后的 .exe 文件没有图标,甚是难看,所以找了 windows 平台下添加 Go 程序图标的方法。

1、查找 ico 图标

查找一个符合程序气质的图标,下载备用。

图标保存到程序同级目录 favicon.ico

2、生成 syso 文件

rsrc 是在 Windows 的 Go 程序中嵌入 .ico 和 manifest 资源的工具。

2.1 下载安装 rsrc

go get github.com/akavel/rsrc

图片alt

2.2 go-get 安装完成之后,在 goland 中找到如图所示文件,右键 github.com/akavel/rsrc ,选择Open In->Terminal,输入 go build ,回车运行,生成 rsrc.exe

图片alt

2.3 复制 rsrc.exe 到 %go安装目录%/bin/ 目录下,不复制也可以用,但是得使用 rsrc.exe 程序的绝对路径

2.4 新建程序描述文件 app.manifest,写入以下初始内容

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="SomeFunkyNameHere" type="win32"/>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
        </dependentAssembly>
    </dependency>
    <asmv3:application>
        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
            <dpiAware>true</dpiAware>
        </asmv3:windowsSettings>
    </asmv3:application>
</assembly>

2.5 生成 go 程序嵌入文件(我这里 2.3 步骤没有复制,使用的是绝对路径)

C:\Users\Administrator\go\pkg\mod\github.com\akavel\rsrc@v0.10.2\rsrc.exe -manifest app.manifest -o rsrc.syso -ico favicon.ico

2.6 正常编写你的 Golang 程序

2.7 打包

windows 不带命令行的打包命令:

go build -ldflags "-s -w -H=windowsgui"

打包完成,根目录就应该已经生成可执行的 exe 程序了,双击使用即可。

via

从0搭建go+walk界面应用开发程序(windows)_rsrc.exe_我的孤独与美酒的博客-CSDN博客
https://blog.csdn.net/weixin_43834425/article/details/122350498

标签: windows教程Golang

猜你喜欢
使用 Vercel + Supabase 零成本部署 Umami
早些年用过友盟、51.la、百度统计、Google Analytics,各有各的优缺点,百度统计目前只允许备案网站使用,友盟和 51.la 体验效果不喜欢,Google Analytics 访问...
[Go]包依赖管理工具go mod使用详解
go module 是 Go 语言从 1.11 版本之后官方推出的版本管理工具,并且从 Go 1.13 版本开始,go module 成为了 Go 语言默认的依赖管理工具。Modules 官方定...
薅京东羊毛必备抓取Cookies教程
本文只介绍如何利用安卓手机浏览器获取京东 cookie 教程,具体为什么要获取 cookie 以及如何薅羊毛请查看:闲置服务器薅京东的羊毛—青龙面板部署与京东签到第一步,下载工具去各大应用商店搜...
typecho使用文件缓存加快打开速度
typecho 是一个伪静态的博客系统,如果不使用缓存,每次打开页面都会查询数据库,访问人数多了以后服务器压力倍增。但是,typecho 是一个 php 的程序,我们可以利用 php 将实时页面...
javascript | 原生JS多语言切换简单实现
由于项目需要实现一个前端的多语言切换,不想因为一个简单的功能就引入 jQuery,所以经过 google 编程大法摸索出一个原生 JS 就可以实现的多语言前端切换的小例子,仅供参考。<bo...
卸载阿里云、腾讯云服务器监控系统
众所周知,阿里云、腾讯云的服务器都自带监控(AliYunDun / 阿里云盾 / 安骑士),大家都不想自己的所作所为都被监控着,比如我在上面安装 XX 服务,一旦云监控查到,会被警告,很麻烦,我们总想
JavaScript + imgur API 上传图片
![](https://cdn.wangtwothree.com/imgur/jgGhE5d.jpg) 上图如无法正常显示则以下方法可能已失效! 大致比较了一下,支持 API 上传的图床,国内
(首次提交评论需审核通过才会显示,请勿重复提交)