diff --git a/H.InputSimulator.sln b/H.InputSimulator.sln
index 2d92674..0fee00f 100644
--- a/H.InputSimulator.sln
+++ b/H.InputSimulator.sln
@@ -30,6 +30,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "H.InputSimulator.UnitTests"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "H.InputSimulator.IntegrationTests", "src\tests\H.InputSimulator.IntegrationTests\H.InputSimulator.IntegrationTests.csproj", "{AA028745-7520-4DB3-A047-9299D6FD2413}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "helpers", "helpers", "{87192D70-B0E1-4BFC-A05E-06A16765E1C5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrimmingHelper", "src\helpers\TrimmingHelper\TrimmingHelper.csproj", "{0816DBD8-AD39-497F-824B-6DCD5B16D37D}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -48,6 +52,10 @@ Global
{AA028745-7520-4DB3-A047-9299D6FD2413}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AA028745-7520-4DB3-A047-9299D6FD2413}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AA028745-7520-4DB3-A047-9299D6FD2413}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0816DBD8-AD39-497F-824B-6DCD5B16D37D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0816DBD8-AD39-497F-824B-6DCD5B16D37D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0816DBD8-AD39-497F-824B-6DCD5B16D37D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0816DBD8-AD39-497F-824B-6DCD5B16D37D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -56,6 +64,7 @@ Global
{8C39C5CD-A8D1-4528-9FCE-0190BD515466} = {6E5BF389-3D3F-4D74-9DD0-3B199CB529C5}
{F2548AE2-D736-4C21-942F-55C4F592EFF2} = {9CAA231D-7BE1-46C9-ACD6-EB2E569CEBEA}
{AA028745-7520-4DB3-A047-9299D6FD2413} = {9CAA231D-7BE1-46C9-ACD6-EB2E569CEBEA}
+ {0816DBD8-AD39-497F-824B-6DCD5B16D37D} = {87192D70-B0E1-4BFC-A05E-06A16765E1C5}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {1493AEE4-9211-46E9-BFE6-8F629EAC5693}
diff --git a/README.md b/README.md
index 4475760..b2f3021 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,8 @@ Allows you to simulate global mouse and keyboard events.
Features:
- Supports scan codes and multi-language input.
- Supports WPF/WinForms/Console windows apps.
-- Supports .NET Standard, .Net Core and .Net 5.
+- Supports .NET Standard 2.0+, .Net Framework 4.6.2 and .Net 8+.
+- Supports trimming/nativeAOT, nullability, and other modern C# features.
Supported OS:
- Windows
diff --git a/src/helpers/TrimmingHelper/Program.cs b/src/helpers/TrimmingHelper/Program.cs
new file mode 100644
index 0000000..3b94c99
--- /dev/null
+++ b/src/helpers/TrimmingHelper/Program.cs
@@ -0,0 +1 @@
+Console.WriteLine("Build, rebuild or publish this app to see trimming warnings.");
\ No newline at end of file
diff --git a/src/helpers/TrimmingHelper/TrimmingHelper.csproj b/src/helpers/TrimmingHelper/TrimmingHelper.csproj
new file mode 100644
index 0000000..58eadd2
--- /dev/null
+++ b/src/helpers/TrimmingHelper/TrimmingHelper.csproj
@@ -0,0 +1,30 @@
+
+
+
+ Exe
+ net9.0
+ enable
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+ win-x64
+ osx-arm64
+
+ true
+
+
+
+
+
+
+
diff --git a/src/libs/Directory.Build.props b/src/libs/Directory.Build.props
index 3ff4957..5d5f9c8 100644
--- a/src/libs/Directory.Build.props
+++ b/src/libs/Directory.Build.props
@@ -22,23 +22,25 @@
-
-
-
+
+
+
+
+
+ 2.1
+ v
+ dev
+
+
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
- 1.3.0
- ae6fb7890fc1938c3c85eacd6e40bd0e9aa38b3d
-
-
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
@@ -60,7 +62,17 @@
true
latest
+ true
+ true
All
+
+ true
+ true
+ true
+ false
+ false
+
+
diff --git a/src/libs/H.InputSimulator/H.InputSimulator.csproj b/src/libs/H.InputSimulator/H.InputSimulator.csproj
index 8fbe209..76d203e 100644
--- a/src/libs/H.InputSimulator/H.InputSimulator.csproj
+++ b/src/libs/H.InputSimulator/H.InputSimulator.csproj
@@ -1,7 +1,7 @@
- net4.5.1;netstandard2.0;netstandard1.1;net6.0;net8.0
+ net4.6.2;netstandard2.0;net8.0;net9.0
WindowsInput
$(NoWarn);CA1707;CA1720;CA1712;CA1069;CA5392
$(NoWarn);IDE0190
@@ -18,12 +18,20 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
+
+
+
+
Allows you to simulate global mouse and keyboard events.
Features:
diff --git a/src/tests/H.InputSimulator.IntegrationTests/H.InputSimulator.IntegrationTests.csproj b/src/tests/H.InputSimulator.IntegrationTests/H.InputSimulator.IntegrationTests.csproj
index 1a0b016..13f8a39 100644
--- a/src/tests/H.InputSimulator.IntegrationTests/H.InputSimulator.IntegrationTests.csproj
+++ b/src/tests/H.InputSimulator.IntegrationTests/H.InputSimulator.IntegrationTests.csproj
@@ -1,7 +1,7 @@
- net4.8;net8.0-windows
+ net4.8;net9.0-windows
true
enable
true
diff --git a/src/tests/H.InputSimulator.IntegrationTests/UnicodeText/UnicodeTestForm.cs b/src/tests/H.InputSimulator.IntegrationTests/UnicodeText/UnicodeTestForm.cs
index 21259ba..5a017a2 100644
--- a/src/tests/H.InputSimulator.IntegrationTests/UnicodeText/UnicodeTestForm.cs
+++ b/src/tests/H.InputSimulator.IntegrationTests/UnicodeText/UnicodeTestForm.cs
@@ -1,3 +1,5 @@
+using System.ComponentModel;
+
namespace WindowsInput.Tests.UnicodeText;
public partial class UnicodeTestForm : Form
@@ -7,6 +9,7 @@ public UnicodeTestForm()
InitializeComponent();
}
+ [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public string Expected
{
get { return ExpectedTextBox.Text; }
diff --git a/src/tests/H.InputSimulator.UnitTests/H.InputSimulator.UnitTests.csproj b/src/tests/H.InputSimulator.UnitTests/H.InputSimulator.UnitTests.csproj
index b982557..3164bc8 100644
--- a/src/tests/H.InputSimulator.UnitTests/H.InputSimulator.UnitTests.csproj
+++ b/src/tests/H.InputSimulator.UnitTests/H.InputSimulator.UnitTests.csproj
@@ -1,18 +1,16 @@
- net8.0-windows;net4.8
+ net9.0-windows;net4.8
true
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-