当前位置:首页 > HTML5 > 正文内容

HTML打包的EXE程序无法关闭?

HTML5204
近期有朋友在使用HTML打包EXE过程中, 发现打包生成的EXE程序无法正常关闭, 点击退出按钮没有反应, 这是怎么回事呢?


一般可能有以下原因导致, 可以按照下面的步骤进行排查:
1. 检查系统是否有杀毒软件或者安全软件正在扫描EXE程序, 有时候第三方安全软件扫描可能会导致程序在关闭的过程中卡死, 或者没有效果

2. 检查程序是否使用了打包软件提供的onQuit接口, 这个接口可以允许开发人员阻止程序被关闭, 一般用户一些不允许被关闭的程序, 比如在大屏幕上全屏显示不能被关闭的程序. 如果代码中错误使用了这个接口, 也有可能导致程序无法关闭:

window.HTMLPackHelper.onQuit = ()=>{
  // 你的业务逻辑  
  // return false: 处理完成后不关闭程序  
  // return true: 处理完成后关闭程序  
  return false;  
}


3. 检查是否在软件的高级设置里面开启了最小化到托盘, 关闭到托盘等功能, 这些功能会在程序最小化或者关闭的时候在后台继续运行, 并显示在系统右下角托盘里面

image.png

4. 检查是否在js中使用了beforeunload监听, 并通过以下阻塞语句拦截了正常卸载流程, 这些语句会告诉内置浏览器“页面需要阻止退出”,导致外层 EXE 关闭流程被延迟或被阻塞。推荐可以使用软件自带的onQuit实现, 避免冲突出现问题
window.addEventListener('beforeunload', async function(e) {
    /*其他业务逻辑*/
    e.preventDefault();
    e.returnValue = '';
    return '';
});


以上便是HTML打包的EXE程序无法关闭常见原因, 如果你想了解更多关于HTML打包, 加密, VR全景等相关内容, 可以查看之前的文章:

HTML转EXE最新版本2.1.0新功能介绍(包含永久免费内核) - 附免费下载链接




扫描二维码推送至手机访问。

版权声明:本文由H5开发工具网站发布,如需转载请注明出处。

本文链接:https://www.h5pack.com/post/cannot-quit-exe-file.html