From c0ddb248257882cf4f7789f0b5477e0cb9b85132 Mon Sep 17 00:00:00 2001 From: DismissedLight <1686188646@qq.com> Date: Tue, 27 Sep 2022 14:36:13 +0800 Subject: [PATCH] fix window issue --- .../Snap.Hutao/Core/Windowing/Persistence.cs | 7 ++++--- .../Web/Hoyolab/Bbs/User/DetailedCertification.cs | 2 +- src/Snap.Hutao/Snap.Hutao/Win32/MemoryExtensions.cs | 2 +- src/Snap.Hutao/Snap.Hutao/Win32/StructMarshal.cs | 11 +++++++++++ 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/Persistence.cs b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/Persistence.cs index f5afe9d8..28d18d0a 100644 --- a/src/Snap.Hutao/Snap.Hutao/Core/Windowing/Persistence.cs +++ b/src/Snap.Hutao/Snap.Hutao/Core/Windowing/Persistence.cs @@ -4,6 +4,7 @@ using Microsoft.UI; using Microsoft.UI.Windowing; using Snap.Hutao.Core.Setting; +using Snap.Hutao.Win32; using System.Runtime.InteropServices; using Windows.Graphics; using Windows.Win32.Foundation; @@ -25,11 +26,11 @@ internal static class Persistence // Set first launch size. HWND hwnd = (HWND)Win32Interop.GetWindowFromWindowId(appWindow.Id); SizeInt32 size = TransformSizeForWindow(new(1200, 741), hwnd); - RectInt32 rect = new(0, 0, size.Width, size.Height); + RectInt32 rect = StructMarshal.RectInt32(size); - // Make it centralized - TransformToCenterScreen(ref rect); RectInt32 target = (CompactRect)LocalSetting.Get(SettingKeys.WindowRect, (ulong)(CompactRect)rect); + //if(target.Width*target.Height) + TransformToCenterScreen(ref target); appWindow.MoveAndResize(target); } diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Bbs/User/DetailedCertification.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Bbs/User/DetailedCertification.cs index aaecdc3f..f291e5d9 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Bbs/User/DetailedCertification.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Bbs/User/DetailedCertification.cs @@ -12,7 +12,7 @@ public class DetailedCertification : Certification /// Id /// [JsonPropertyName("id")] - public int Id { get; set; } + public string Id { get; set; } = default!; /// /// 认证Id diff --git a/src/Snap.Hutao/Snap.Hutao/Win32/MemoryExtensions.cs b/src/Snap.Hutao/Snap.Hutao/Win32/MemoryExtensions.cs index 0259e074..45b00f2d 100644 --- a/src/Snap.Hutao/Snap.Hutao/Win32/MemoryExtensions.cs +++ b/src/Snap.Hutao/Snap.Hutao/Win32/MemoryExtensions.cs @@ -7,7 +7,7 @@ using Windows.Win32.System.Diagnostics.ToolHelp; namespace Snap.Hutao.Win32; /// -/// 内存拓展 +/// 内存拓展 for /// internal static class MemoryExtensions { diff --git a/src/Snap.Hutao/Snap.Hutao/Win32/StructMarshal.cs b/src/Snap.Hutao/Snap.Hutao/Win32/StructMarshal.cs index ef702aff..9e187195 100644 --- a/src/Snap.Hutao/Snap.Hutao/Win32/StructMarshal.cs +++ b/src/Snap.Hutao/Snap.Hutao/Win32/StructMarshal.cs @@ -1,6 +1,7 @@ // Copyright (c) DGP Studio. All rights reserved. // Licensed under the MIT license. +using Windows.Graphics; using Windows.Win32.System.Diagnostics.ToolHelp; namespace Snap.Hutao.Win32; @@ -19,6 +20,16 @@ internal static class StructMarshal return new() { dwSize = (uint)sizeof(MODULEENTRY32) }; } + /// + /// 构造一个新的 + /// + /// 尺寸 + /// 新的实例 + public static RectInt32 RectInt32(SizeInt32 size) + { + return new(0, 0, size.Width, size.Height); + } + /// /// 判断结构实例是否为默认结构 ///