2,【electron+vue】 构建桌面应用——常见的功能及问题(修改桌面图标,软件图标,窗口图标,图标不显示问题,影藏默认菜单栏,开机自启,手动或被动关闭应用)
一.修改桌面图标,软件图标或者窗口左上角的图标.
1.首先这些图标必须是 .ico 结尾的图片,如果你将其他格式的图片改成.ico的,也不行哦,至于为什么,我也没深入研究,按着规定来就好.
2.如何获取.ico格式的图片或者说如何将其他格式的图片转换成.ico格式的图片呢,这里推荐一个app,名字是 icofx ,大家自行搜索安装使用哈,给大家看下大概的界面:
3,前两步弄好后,咱们就有了ico的图片,现在替换默认的图片,在你声明主进程的地方
这是修改应用左上角的图标
const win = new BrowserWindow({icon: './public/img/title.ico',// 图标})
4,修改桌面的图标, .exe前面的图标
这两个是同一个图标,在项目的根目录下找到vue.config.js这个文件,如果没有,就自己创建一个,
module.exports = {publicPath: "./",outputDir: 'passageway',runtimeCompiler: true,// 插件配置pluginOptions: {electronBuilder: {builderOptions: {'productName': 'passageway',//生成exe的名字"appId": "aaa",//包名 "copyright": "xxx",//版权信息"directories": { // 输出文件夹"output": "electron_output",},"nsis": {"oneClick": false, // 是否一键安装"allowElevation": true, // 允许请求提升。若为false,则用户必须使用提升的权限重新启动安装程序。"allowToChangeInstallationDirectory": true, //是否允许修改安装目录"installerIcon": "./public/img/title.ico",// 安装时图标"uninstallerIcon": "./public/img/title.ico",//卸载时图标"installerHeaderIcon": "./public/img/title.ico", // 安装时头部图标"createDesktopShortcut": true, // 是否创建桌面图标"createStartMenuShortcut": true,// 是否创建开始菜单图标"shortcutName": "passageway", // 快捷方式名称"runAfterFinish": false,//是否安装完成后运行},"win": {"icon": "public/img/title.ico",//图标路径"target": [{"target": "nsis", //利用nsis制作安装程序"arch": ["x64", //64位]}]}},nodeIntegration: true},}
}
注意: nodeIntegration: true 这个不写不会对图标的显示造成影响,但是!!!,如果你不写,你后面手动关闭应用或者调用主进程的一些api可能会没有哦.所以还是得加上.
二.图标不显示或显示不全
一般这个问题发生在打包后,运行软件,会发现窗口左上角的图标和电脑下面的任务栏那里的图标显示不全.为什么呢.因为可能是你的ico图片太大了,一般的ioc图标大小应该是小于1M并且是256*256分辨率的.你可以看一下你的图片大小.如果超了,可以用第一步那个方法修改大小及分辨率
三.影藏默认菜单栏
一般在开发的时候可以打开默认菜单栏,但是打包后就不需要默认的菜单栏了,这时我们可以影藏
const win = new BrowserWindow({autoHideMenuBar: true, // 影藏菜单栏})
四.开机自启
开机自启就是电脑开机的时候自动启动该软件
写在background.js里面,主进程里面
app.setLoginItemSettings({// 设置为true注册开机自起openAtLogin: true, //winopenAsHidden: true, //macOspath: process.execPath,args: [],
});
五.手动或被动关闭应用
这两个关闭都是在你没有开f12的前提下,才可以关闭
手动关闭:
就是自己点击右上角的×关闭,这个应用自带的都有
被动关闭:
点击右上角的×或者一个点击事件,弹一个窗口,二次确认是否关闭该应用
监听点击×关闭之前的判断.
mounted() {window.onbeforeunload = (e) => {e.returnValue = false; // 阻止默认点关闭事件,不写会直接走默认的退出setTimeout(() => { // 定时器主要是防止模态框中的图片不显示this.closeDialogVisible = true // 开启模态框})return}
}
开启模态框,弹窗是否确认关闭当前应用
// 确认closeConfirm() {// 向主进程发送close信息require('electron').ipcRenderer.send('window-close')},// 取消cancle() {this.closeDialogVisible = false // 关闭模态框},
如果点击了确认,则向主进程发送一个关闭应用信息
import { ipcMain } from 'electron'
async function createWindow() {//const win = new BrowserWindow({// width: 1920,// height: 1080,// webPreferences: {// nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,// contextIsolation: !process.env.ELECTRON_NODE_INTEGRATION,// },// icon: './public/img/title.ico',// 图标// autoHideMenuBar: true, // 影藏菜单栏//})//if (process.env.WEBPACK_DEV_SERVER_URL) {// await win.loadURL(process.env.WEBPACK_DEV_SERVER_URL)// if (!process.env.IS_TEST) win.webContents.openDevTools()//} else {// createProtocol('app')// win.loadURL('app://./index.html')//}//自动关闭appipcMain.on('window-close',()=>{win.close();// win.destroy(); // 如果close不行,就用destroy})
}
ok.目前就这么多.后续碰到新的需求再补充.
2,【electron+vue】 构建桌面应用——常见的功能及问题(修改桌面图标,软件图标,窗口图标,图标不显示问题,影藏默认菜单栏,开机自启,手动或被动关闭应用)相关推荐
- 「开机自启」macOS如何关闭开机自启动软件?
前段时间仲辉将自己的Mac抹盘重装了,安装完日常使用的软件后发现有部分软件竟然默认「开机自启」,有些软件打开后在「偏好设置」里可以将其手动关闭,有些就只能到设置里关闭,发现macOS13的设置路径跟之 ...
- 重启计算机后桌面顺序是反的,win10系统修改桌面后重启电脑桌面又回到初始状态的方案...
win10系统使用久了,好多网友反馈说win10系统修改桌面后重启电脑桌面又回到初始状态的问题,非常不方便.有什么办法可以永久解决win10系统修改桌面后重启电脑桌面又回到初始状态的问题,面对win1 ...
- html 点击空白关闭浮层,js中点击空白区域时文本框与隐藏层的显示与影藏问题...
当文本框获得焦点的时候,在文本框的下方显示一个浮动层. 当用户点击除了文本框和浮动层以外的网页空白处时,要隐藏浮动层. 当用户点击浮动层时,改变文本框的值. function $(id){ retur ...
- 如何让计算机桌面自动更换,怎么让电脑自动更换桌面背景
Windows 7支持多张桌面背景切换的功能让我们的桌面更加绚丽,那么怎么让电脑自动更换桌面背景?学习啦小编为大家整理了相关资料,供大家参考! 电脑自动更换桌面背景参考如下 ◎ 系统方案的局限之处 关 ...
- Vue数组更新及过滤排序功能
Vue为了增加列表渲染的功能,增加了一组观察数组的方法,而且可以显示一个数组的过滤或排序的副本.本文将详细介绍Vue数组更新及过滤排序 前面的话 Vue为了增加列表渲染的功能,增加了一组观察数组的方法 ...
- electron vue点击按钮关闭_electron+vue制做桌面应用--自定义标题栏最大/小化和关闭...
上一篇:electron+vue制做桌面应用--自定义标题栏中咱们介绍了如何使用electon制做自定义样式的标题栏 接下来,咱们介绍一下标题栏上的最大化.最小化和关闭按钮如何实现vue 首先查阅el ...
- 前端系列——Electron工程构建(普通工程,Vue集成)
前端系列--Electron工程构建(普通工程,Vue集成) Electron 前言 创建Electron工程(npm) 1.创建项目文件夹 2.初始化 3.安装Electron环境 遇到的错误 完成 ...
- 2019 Electron+Vue+Ant Design Vue仿网易云音乐windows客户端实战分享
特点 拖拽播放 桌面歌词 mini模式 自定义托盘右键菜单 任务栏缩略图,歌曲操作 音频可视化 自动/手动检查更新 Nedb数据库持久化 自定义安装路径,安装界面美化 浏览器中启动客户端 Travis ...
- 手把手教Electron+vue的使用
.现如今前端框架数不胜数,尤其是angular.vue吸引一大批前端开发者,在这个高新技术快速崛起的时代,自然少不了各种框架的结合使用.接下来是介绍electron+vue的结合使用. 2.Elect ...
最新文章
- [JAVA EE]session 和 token 机制
- 看看XStream注解
- range() 和 np.arange()区别
- 性能测试时需要关注哪些性能
- 意料之外,也是情理之中 - 我的自由职业之旅
- pyqt5 最小化 系统托盘_Qt中如何使窗口隐藏/最小化到托盘
- linux——线程(1)
- Win7电脑定时关机怎么设置
- 今天提交了一个patch开心,呵呵
- 凡人和神学习和使用软件的七个层次
- 数据结构与就算法(选择排序)
- JPM Coin 三部曲 (中) - 摩根大通为何青睐 Quorum 区块链
- Windows 8 Beta 64位 简体中文 消费者预览版 安装截图(30P)
- python小程序设计4s店_python自写的车牌识别小程序,完全自主实现。图片处理
- HenCoder Android 开发进阶: 自定义 View 1-2 Paint 详解
- CRM——销售与客户
- MovieLens 数据集补充版爬虫代码解析
- pptpd mysql_安装pptpd脚本
- python自己的手稿四之互动沟通
- Java常用类字符串异常处理
热门文章
- 读书笔记 - 《激荡十年,水大鱼大》
- 上传大文件(100G)的解决方案
- word柱状图垂直轴数值设定_excel表格插入图表如何设置垂直轴的值
- 【RDMA】intel 英特尔RDMA 驱动和ibverslib 库安装|流控PFC
- 前 15 个 JavaScript 机器学习库
- 熊掌号php自动提交链接示例,织梦熊掌号api自动提交代码
- [连载]C#程序设计(01)--- .NET概述
- matlab三位画图_matlab画三维图像
- 慧教室系统--远程控制系统
- mysql期中考试题及答案_MySql期中作业