babalae / better-genshin-impact

📦BetterGI · 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 - UI Automation Testing Tools For Genshin Impact
https://bgi.huiyadan.com/
GNU General Public License v3.0
3.71k stars 246 forks source link

[suggestion] 建议启动软件时自动获取焦点,窗口显示在其它软件上方 #325

Closed ccjjxx99 closed 3 months ago

ccjjxx99 commented 4 months ago

每次启动时,任务栏会显示图标,但如果桌面上有其他软件窗口,BetterGI的界面不会显示在最前面,而是被其它窗口遮挡。必须在任务栏点击图标才能将其调至前台,取得焦点,然后才能点击启动,这实在有些不便。 希望启动时软件能够自动获取焦点,自动展示在最上方。 这个功能应该不难做,或者说这不是功能请求,是bug修复请求,实在很少见有软件打开不会自动获取焦点的😂😂😂,我猜测可能是BetterGI不光是个只有UI的软件,还有后台的识别的进程,希望您能修复,感谢!

huiyadanli commented 4 months ago

测试了下感觉这完全不是问题,是窗体启动比较慢,在启动过程中激活了其他的窗口导致的。

大部分软件都存在这个场景(比如Chrome),只要你在启动过程中激活其他窗体,不会强行转移焦点。

https://github.com/babalae/better-genshin-impact/pull/328 已经加入自行获取焦点的功能,但是测试下来只会让任务栏图标处于闪烁而已

emako commented 4 months ago

328 用的是setActiveWindow接口,https://learn.microsoft.com/zh-cn/windows/win32/api/winuser/nf-winuser-setactivewindow

ccjjxx99 commented 4 months ago

测试了下感觉这完全不是问题,是窗体启动比较慢,在启动过程中激活了其他的窗口导致的。

我测试下来不是你说的这样呀,我就往桌面前台放了一个浏览器的普通网站,并且没有进行任何操作,网站不会在中途突然激活,但是打开BetterGI,BetterGI的窗口就是在浏览器的下方,被遮住一大半。

huiyadanli commented 3 months ago

https://github.com/babalae/better-genshin-impact/releases/tag/0.27.0