feat(desktop-wake): restore SearchResultWindow2 n2-wake without maximize (1.2.10)
All checks were successful
Publish Python Package to Gitea / publish (push) Successful in 26s

Re-enable float subclass warm (2->122 verified locally); keep activate_maximize=false.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-02 22:07:12 +08:00
parent 24384d70ba
commit 065d341320
11 changed files with 28 additions and 70 deletions

View File

@@ -169,21 +169,8 @@ namespace JiangchangDesktopWake
if (!doWakeProvider)
EnableScreenReaderFlag();
// 1.2.9:SearchResultWindow2 禁止 n2 注入(wecom_wake.dll 子类化/DuiLib 会崩企微)
if (doN2 && IsSearchResultPopup(hwnd))
{
SendGetObject(hwnd);
TryMsaa(hwnd);
bool responsivePopup = CheckUiResponsive(hwnd);
method = "popup_soft_only";
WriteJson(
responsivePopup, false, responsivePopup,
profile, hwnd, 0, 0, new string[0],
"search_popup_no_inject|soft_getobject_msaa",
mode, method);
return responsivePopup ? 0 : 6;
}
// 1.2.10:允许对 SearchResultWindow2 n2-wake(本机验证可暖且不崩);
// 仍靠 ShouldMaximize=false,禁止 Maximize 打掉浮层。
if (doN2)
{
string n2Detail;
@@ -597,17 +584,6 @@ namespace JiangchangDesktopWake
return new IntPtr(Convert.ToInt64(s, 16));
}
private static bool IsSearchResultPopup(IntPtr hwnd)
{
try
{
var sb = new StringBuilder(256);
if (GetClassName(hwnd, sb, sb.Capacity) <= 0) return false;
return string.Equals(sb.ToString(), "SearchResultWindow2", StringComparison.Ordinal);
}
catch { return false; }
}
/// <summary>
/// 主窗可 Maximize;SearchResultWindow2 等浮层禁止 Maximize(会撑爆/关掉浮层)。
/// </summary>