windows虚拟桌面切换时回弹回来
记录一次有趣的BUG的历程,现象是这样:
有一个常驻全屏的软件,他有一个设置点切换桌面功能,这个功能正常。没问题。 后来,有了一个新要求,需要增加一个临时的应用程序(常驻桌面全屏的是在一个大一体机上 86寸或100寸,每次切换需要点设置,切换非常不方便),
随便人在哪 五指按着不放就在所在的地方弹出快捷键。
为了安全性,这个五指弹出的快捷键是另一个EXE程序,弹出一个界面,选择返回桌面以后 把这个请求通过 RPC返回常驻桌面程序 调用返回桌面功能。快捷键窗口退出。
突然使用的过程中发现 切到另一个虚拟桌面,又快速弹回来了。 但是使用常驻界面里的返回 又一切正常。 分析了很多原因一直没找到原因。。。
直到发现一个问题。五指快捷程序发出指令--切--自己退出了(而普通常驻程序没退出) 后来想到,快捷指令发出以后 自己是会退出窗口,此时当前激活的窗口退出了 ,系统会默认激活上一次使用的窗口
且激活它, 到这 大概就明白了。
常驻A界面--返回桌面 此时 激活窗口不有任何丢失 只是切换了虚拟桌面 OK
快捷B界面 --发出指令--切换 之前或之后都会自己退出---此时切换,但是这个引起了另一个窗口的激活
窗口的激活 会引起虚拟桌面的自动切换
到这相信大家已经明白了,所以我只是暂时在接受到切换命令之前 先把窗口关闭 -让他激活另一个窗口 之后(这中间加一个sleep(200))再进行切换虚拟桌面。
故障解除。
这次故障很有意思。。。。故记录。