diff --git a/v2rayN/v2rayN/Common/WindowsUtils.cs b/v2rayN/v2rayN/Common/WindowsUtils.cs index 0bf149ca..ce7d96b4 100644 --- a/v2rayN/v2rayN/Common/WindowsUtils.cs +++ b/v2rayN/v2rayN/Common/WindowsUtils.cs @@ -5,7 +5,7 @@ using Microsoft.Win32; namespace v2rayN.Common; -internal static class WindowsUtils +internal static partial class WindowsUtils { private static readonly string _tag = "WindowsUtils"; @@ -39,8 +39,8 @@ internal static class WindowsUtils } } - [DllImport("dwmapi.dll")] - public static extern int DwmSetWindowAttribute(nint hwnd, DWMWINDOWATTRIBUTE attribute, ref int attributeValue, uint attributeSize); + [LibraryImport("dwmapi.dll")] + public static partial int DwmSetWindowAttribute(nint hwnd, DWMWINDOWATTRIBUTE attribute, ref int attributeValue, uint attributeSize); public static ImageSource IconToImageSource(Icon icon) { diff --git a/v2rayN/v2rayN/Manager/HotkeyManager.cs b/v2rayN/v2rayN/Manager/HotkeyManager.cs index 6b6bc546..2d588a3b 100644 --- a/v2rayN/v2rayN/Manager/HotkeyManager.cs +++ b/v2rayN/v2rayN/Manager/HotkeyManager.cs @@ -1,6 +1,6 @@ namespace v2rayN.Manager; -public sealed class HotkeyManager +public sealed partial class HotkeyManager { private static readonly Lazy _instance = new(() => new()); public static HotkeyManager Instance = _instance.Value; @@ -165,11 +165,13 @@ public sealed class HotkeyManager } } - [DllImport("user32.dll", SetLastError = true)] - private static extern bool RegisterHotKey(nint hWnd, int id, int fsModifiers, int vlc); + [LibraryImport("user32.dll", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + private static partial bool RegisterHotKey(nint hWnd, int id, int fsModifiers, int vlc); - [DllImport("user32.dll", SetLastError = true)] - private static extern bool UnregisterHotKey(nint hWnd, int id); + [LibraryImport("user32.dll", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + private static partial bool UnregisterHotKey(nint hWnd, int id); [Flags] private enum KeyModifiers diff --git a/v2rayN/v2rayN/v2rayN.csproj b/v2rayN/v2rayN/v2rayN.csproj index 45cbc376..4b3be3eb 100644 --- a/v2rayN/v2rayN/v2rayN.csproj +++ b/v2rayN/v2rayN/v2rayN.csproj @@ -8,6 +8,7 @@ Resources\v2rayN.ico app.manifest 7.0 + true @@ -35,4 +36,4 @@ - \ No newline at end of file +