isHarryh / Ark-Pets

Arknights Desktop Pets | 明日方舟桌宠
https://arkpets.harryh.cn
GNU General Public License v3.0
519 stars 33 forks source link

[Bug] 出現"ArkPets Core"無法隱藏的問題 #39

Closed TommcyOWO closed 1 year ago

TommcyOWO commented 1 year ago

版本v2.1.1。有概率出現"ArkPets Core"在任務欄中無法隱藏的問題。

我依然在使用win7 影片示範是win10 不知道是否為電腦版本問題 也希望能修復

MegaSteelX commented 1 year ago

我的Win11系统,ArkPets随开机自启动时有时会出现同样的问题。

isHarryh commented 1 year ago

這個問題在所有Windows平台都可能發生,目前暫不清楚其出現的原因和復現的方法,但觀測顯示該問題通常發生在系統運行繁忙時。

isHarryh commented 1 year ago

經過 @half-nothing 的排查,發現避免該問題發生的方法是:在設置窗口的擴展樣式WS_EX_TOOLWINDOW (HEX 0x00000080) 時,桌寵窗口必須是前台窗口。

經過進一步的調查研究,已確認該問題發生的直接原因是:在設置窗口的擴展樣式為 WS_EX_TOOLWINDOW 時,桌寵窗口 “曾經” 一次都沒有被成功地設置為前台窗口。儘管桌寵啟動時默認會請求一次前台窗口,但是由於用戶或系統的打斷操作,也會使得前台窗口的設置失效。

已於 e54c6ed556a5abe59197e0dacf7717c0bc7a0120 修復此問題,以後桌寵在設置 WS_EX_TOOLWINDOW 樣式前,會確保前台窗口是桌寵窗口。

MegaSteelX commented 1 year ago

该问题并未解决,表征与原先无异。版本2.2.0

isHarryh commented 1 year ago

该问题并未解决,表征与原先无异。版本2.2.0

目前,桌宠尝试请求前台窗口的最大重试次数是1000次,超过此次数将会放弃重试。在绝大部分情况下这个次数是够用的。请问你所述的再次发生的这个问题的具体复现手段是?

MegaSteelX commented 1 year ago

该问题并未解决,表征与原先无异。版本2.2.0

目前,桌宠尝试请求前台窗口的最大重试次数是1000次,超过此次数将会放弃重试。在绝大部分情况下这个次数是够用的。请问你所述的再次发生的这个问题的具体复现手段是?

该异常发生在开机自启动时,同时另一自启动的程序弹窗请求管理员权限(具体:everything),此情况下管理员权限请求窗口被隐藏到后台,ArkPets Core出现在任务栏

dnyyfb commented 1 year ago

版本2.2.1,刚刚看完更新日志后试了一下,ArkPets Core还是有概率会在任务栏显示。 (Win11)启动桌宠时做部分其他操作就能复现,我这里是必显示。

isHarryh commented 1 year ago

已于 v2.3.0 进一步修复此问题。

现在每一帧都会检查是否成功设置 WS_EX_TOOLWINDOW 样式。程序如果仍然停留在任务栏,用户可以手动单击桌宠使其变为前台窗口,桌宠应该会马上隐藏其任务栏图标。