HTML打包的EXE程序无法关闭怎么处理
近期有朋友在使用HTML打包EXE过程中, 发现打包生成的EXE程序无法正常关闭, 点击退出按钮没有反应, 这是怎么回事呢?一般可能有以下原因导致, 可以按照下面的步骤进行排查:1. 检查系统是否有杀毒软件或者安全软件正在扫描EXE程序, 有时候第三方安全软件扫描可能会导致程序在关闭的过程中卡死, 或者没有效果
2. 检查程序是否使用了打包软件提供的onQuit接口, 这个接口可以允许开发人员阻止程序被关闭, 一般用户一些不允许被关闭的程序, 比如在大屏幕上全屏显示不能被关闭的程序. 如果代码中错误使用了这个接口, 也有可能导致程序无法关闭:
TypeScript
window.HTMLPackHelper.onQuit = ()=>{
// 你的业务逻辑
// return false: 处理完成后不关闭程序
// return true: 处理完成后关闭程序
return false;
}
3. 检查是否在软件的高级设置里面开启了最小化到托盘, 关闭到托盘等功能, 这些功能会在程序最小化或者关闭的时候在后台继续运行, 并显示在系统右下角托盘里面

4. 检查是否在js中使用了beforeunload监听, 并通过以下阻塞语句拦截了正常卸载流程, 这些语句会告诉内置浏览器“页面需要阻止退出”,导致外层 EXE 关闭流程被延迟或被阻塞。推荐可以使用软件自带的onQuit实现, 避免冲突出现问题
TypeScript
window.addEventListener('beforeunload', async function(e) {
/*其他业务逻辑*/
e.preventDefault();
e.returnValue = '';
return '';
});
以上便是HTML打包的EXE程序无法关闭常见原因, 如果你想了解更多关于HTML打包, 加密, VR全景等相关内容, 可以查看之前的文章:

浙公网安备 33010602011771号