在使用到Electron-vue开发桌面应用时,出现一个很头疼的问题,就是程序未响应

具体问题描述:Electron程序调用hide隐藏后,当Electron应用长时间运行后,点击托盘图标调用show函数显示应用面板,会出现未响应的情况,并且会同时获取到焦点,导致其他应用无法获取鼠标的焦点,无法进行其他操作,整个系统处于无法操作的情况。你甚至无法调出任务管理器去杀死进程。

关于问题的出现目前是在windows下,不确定是Electron的问题,还是系统的问题,但是出现评率很高,几乎试用的同事都出现过长时间挂起,程序未响应的问题。而我本机环境出现未响应确实另一种情况:出现未响应后,点击后会出现是否终止进程的提示,取消后,等待一段时间具体时间不同,几秒钟后会响应,程序正常。但是操作又会出现未响应的情况

github官网上差了很长一段时间,依旧没有发现相似的问题及解决办法。目前仍是难以确定具体问题。

我们用过的大部分应用基本上都会出现未响应的情况,最近用微信的时候也会出现未响应的问题。所以就想着其实用户最烦的应该是:出现未响应,获取焦点将会导致用户PC上的其他应用程序用不了,这是最崩溃的地方

于是尝试着怎么解决:未响应的情况下,不会获取到整个系统应用的焦点。查看了一下官方文档,看到了关于显示窗口的两个函数:

  • show:显示窗口并获取焦点
  • showInactive:显示窗口不获取焦点

在程序中我是用的是show函数来显示窗口,它的使用就是窗口会获得焦点,当程序隐藏时,点击托盘中应用图标就会获取焦点,显示窗口。但同时在未响应的情况下,其他程序无法获取到焦点。

改为showInactive,隐藏后调用,会显示窗口。但是如果已经存在其他应用程序在打开的情况下,无法显示窗口,只会在任务栏显示该应用,当你点击任务栏应用时,才会显示。如果只有你的一个应用在运行,那么点击托盘应用图标会显示窗口。在未响应的情况下不会出现获取焦点的时间,即便你的窗口已经打开,还是可以操作其他应用,也可以调出任务管理器,杀死未响应的进程,不影响其他程序的使用。

但是易用性会变得很差,用户不得不先点击托盘图标,然后再点击任务栏图标才能看到应用的窗口。

至于真正的未响应原因,还没有定位出来,目前还在进一步定位,关于这篇文章也会持续更新。

【Electron-Vue】构建桌面应用(40)- Electron程序未响应相关推荐

  1. win7系统未响应卡住_win7旗舰版程序未响应

    2017-08-10 15:12:04 电脑程序未响应导致程序无法正常打开,遇上这种情况要怎么办?win7旗舰版系统如何加快程序响应?想要解决未响应的故障,大家可以参考以下教程来设置. 2017-01 ...

  2. dnf服务器未响应怎么解决方法,科技知识:DNF地下城与勇士程序未响应怎么办——一招搞定...

    很多DNF玩家在打开游戏时,游戏窗口一直没有反应,在排除电脑硬件配置的原因下,最有可能的原因就是设置出错了,下面小编就来为大家介绍一下解决办法.具体如下: 1. 首先,在桌面找到并点击"开始 ...

  3. socket服务器显示未响应,“程序未响应”的思考总结

    在开发聊天程序客户端的过程中,我碰到了一个问题:当运行客户端成后,打开任务管理器,显示程序未相应.我就想是什么原因导致我的程序未响应呢?是我的程序里面有bug? 我上网查了一下,有人说可能程序本身就有 ...

  4. win7系统未响应卡住_win7程序未响应经常死机原因及处理方法

    在使用win7系统的同时,也有很多用户提出了不同的系统问题,win7程序未响应经常死机也是其中的困扰之一吧,出现这种情况虽然有点麻烦,但是还是可以解决的,下面就由学习啦小编跟大家分享一下解决方法吧,希 ...

  5. MFC检测程序未响应

    MFC检测程序未响应 | 火苗999℃的博客 UpdateData();CWnd* hwnd = FindWindow(NULL, m_szName);// m_szName 程序名称if (NULL ...

  6. 电脑经常出现程序未响应

    如果您的电脑经常出现程序未响应,这可能是由于多种原因造成的.以下是一些可能的原因和解决方法: 资源不足:如果您的电脑资源不足,比如内存或 CPU 使用率过高,那么程序可能会变得不稳定甚至假死.解决方法 ...

  7. 计算机老出现无法响应,win7电脑经常出现“程序未响应”的提示怎么办?

    有些朋友在上班的时候,或者是在日常操作电脑的时候,都习惯在电脑中开启很多的网页或者是开启很多的程序,经常都需要来来回回的切换网页或者是程序,可能切换几次的情况下还不会出现什么问题,但是若是切换的次数多 ...

  8. TerminateThread导致程序未响应

    TerminateThread函数的作用是在线程外终止一个线程,属于强制终止,线程里面的资源不会被回收,所以使用此函数是很危险的.比如下面的两个例子 demo1: DWORD __stdcall my ...

  9. 联盟不显示聊天服务器未响应,玩英雄联盟出现程序未响应是怎么回事

    英雄联盟的玩家许多,同时出现的问题也是大不相同,此次小编带给大家的是关于,玩英雄联盟经常出现程序未响应的相关解决方案,一起来看看吧! 玩英雄联盟经常出现程序未响应的解决方法: 1.首先检查网络,看看是 ...

最新文章

  1. Car-eye-http-flv-module 实现nginx-rtmp-mudule HTTP方式的FLV直播功能
  2. Java计算数学表达式(字符串形式)
  3. DICOM医学图像处理:Dcmtk与fo-dicom保存文件的不同设计模式之“同步VS异步”+“单线程VS多线程”...
  4. 【MM模块】 Goods Receipt 收货 3
  5. pythontype(1+0xf*3.14)_numpy强制类型转换|图像线性增强|不同数据类型与图像的显示...
  6. 神策数据荣登 2020 IDC 中国 Fintech 50 强榜单
  7. 计算机辅助语言和计算语言学关系,建构主义理论视角下计算机辅助语言学习环境对留学生学习汉语动机的影响——以广西大学泰国留学生为例-语言学及应用语言学专业论文.docx...
  8. 编译执行和解释执行/初识量子计算机
  9. excel mysql实时交换数据_Excel与数据库的数据交互
  10. 卡尔曼滤波器(Kalman Filter) 理解
  11. 【Vue】npm run serve 和 npm run dev 有什么区别
  12. JS字符串转换为数字,Number(),parseInt()和parseFloat()的区别
  13. 【脚本】去掉win7快捷方式的小箭头
  14. 电脑主板线路连接图解_跳线接法图解 主板开机线接法图解
  15. 手机rar压缩包密码忘了怎么办,rar压缩包不能复制打印、rar压缩包忘记密码怎么办?
  16. 数据库仓工具箱及阿里大数据之路--阅读总结
  17. 2020年12月7日-2020年12月13日
  18. ES部署报错 max file size 和 kibana 报错File size limit exceeded
  19. 【智能制造】智能制造技术与数字化工厂应用!
  20. 软件测试基础知识面试题目(25题英文题目)

热门文章

  1. DLM 通讯初始化语句
  2. linux tar压缩权限,linux tar压缩命令
  3. Win10 通过重置来修复系统的方法
  4. Transflow安装时弹出错误:You are using pip version 9.0.1, however version 19.1.1 is available. You should co
  5. 电脑端(PC)按键精灵2023——入门小白 详细 教程
  6. Java实现zip文件压缩:单个文件、文件夹以及文件和文件夹的压缩
  7. JavaScript数据类型 - String类型
  8. 在一起计时器_没想到吧?快手竟然给厕所上安装了计时器,或许职场从此再无带薪拉屎...
  9. java自定义lock锁
  10. Graham扫描法求解二维凸包问题