diff --git a/Source/GrasscutterTools/GrasscutterTools.csproj b/Source/GrasscutterTools/GrasscutterTools.csproj
index f1a6b02..9951b4f 100644
--- a/Source/GrasscutterTools/GrasscutterTools.csproj
+++ b/Source/GrasscutterTools/GrasscutterTools.csproj
@@ -352,6 +352,7 @@
+
diff --git a/Source/GrasscutterTools/Program.cs b/Source/GrasscutterTools/Program.cs
index 06a487e..834cbb1 100644
--- a/Source/GrasscutterTools/Program.cs
+++ b/Source/GrasscutterTools/Program.cs
@@ -71,6 +71,12 @@ namespace GrasscutterTools
if (result != -1)
return result;
+ // 开启高DPI支持
+ if (Environment.OSVersion.Version.Major >= 6) // 至少需要Vista系统
+ {
+ HighDPIUtil.SetDpiAwareness();
+ }
+
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
diff --git a/Source/GrasscutterTools/Utils/HighDPIUtil.cs b/Source/GrasscutterTools/Utils/HighDPIUtil.cs
new file mode 100644
index 0000000..4563dd9
--- /dev/null
+++ b/Source/GrasscutterTools/Utils/HighDPIUtil.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace GrasscutterTools.Utils
+{
+ internal class HighDPIUtil
+ {
+ public static void SetDpiAwareness()
+ {
+ var dpiAwareness = ProcessDpiAwareness.PerMonitorDpiAware;
+ var hresult = SetProcessDpiAwareness(dpiAwareness);
+ if (hresult != 0)
+ {
+ throw new System.ComponentModel.Win32Exception(hresult);
+ }
+ }
+
+ [DllImport("shcore.dll")]
+ private static extern int SetProcessDpiAwareness(ProcessDpiAwareness value);
+
+ private enum ProcessDpiAwareness
+ {
+ DpiUnaware = 0,
+ SystemDpiAware = 1,
+ PerMonitorDpiAware = 2
+ }
+ }
+}