From d69ef35547cf96eb5ede08c8bfc263d8a2f36a72 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 5 Oct 2026 00:18:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=8A=20Hidden=20Utility=20Window=20?= =?UTF-8?q?=E5=8A=A0=E8=BF=9B=E7=AA=97=E5=8F=A3=E5=90=8D=E9=BB=91=E5=90=8D?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plain Craft Launcher 2/Modules/Minecraft/ModWatcher.vb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Plain Craft Launcher 2/Modules/Minecraft/ModWatcher.vb b/Plain Craft Launcher 2/Modules/Minecraft/ModWatcher.vb index 750df87..3bd883c 100644 --- a/Plain Craft Launcher 2/Modules/Minecraft/ModWatcher.vb +++ b/Plain Craft Launcher 2/Modules/Minecraft/ModWatcher.vb @@ -324,8 +324,9 @@ Public Module ModWatcher GetWindowText(hwnd, str, str.Capacity) Dim WindowText As String = str.ToString '有的 Mod 可以修改窗口标题,所以不能检测是否为 Minecraft 打头,这并不准确 - '部分版本会搞个 GLFW message window 出来所以得反选 - If Not (WindowText.StartsWithF("FML") OrElse (WindowText <> "PopupMessageWindow") AndAlso Not WindowText.StartsWithF("GLFW")) Then Return + '部分版本会搞个 GLFW message window,高版本还有个 Hidden Utility Window,都要反选 + If String.IsNullOrWhiteSpace(WindowText) OrElse WindowText = "SDL_app" OrElse WindowText = "PopupMessageWindow" OrElse + WindowText.StartsWithF("GLFW") OrElse WindowText.EndsWithF("Hidden Utility Window") Then Return '获取窗口关联的进程 Dim ProcessId As Integer GetWindowThreadProcessId(hwnd, ProcessId)