diff --git a/.editorconfig b/.editorconfig
index acfa1981d..07ca48267 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -18,6 +18,7 @@ dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_m
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
# IDE0051: Remove unused private member
dotnet_diagnostic.IDE0051.severity = silent
+dotnet_diagnostic.WFO1000.severity = none
# Xml project files
[*.{csproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}]
diff --git a/ShareX.HelpersLib/Helpers/Helpers.cs b/ShareX.HelpersLib/Helpers/Helpers.cs
index f7b09de35..396b75b24 100644
--- a/ShareX.HelpersLib/Helpers/Helpers.cs
+++ b/ShareX.HelpersLib/Helpers/Helpers.cs
@@ -39,7 +39,6 @@ using System.Reflection;
using System.Resources;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
-using System.Security.Permissions;
using System.Security.Principal;
using System.Text;
using System.Text.RegularExpressions;
@@ -817,24 +816,6 @@ namespace ShareX.HelpersLib
return result;
}
- [ReflectionPermission(SecurityAction.Assert, MemberAccess = true)]
- public static bool TryFixHandCursor()
- {
- try
- {
- // https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/Cursors.cs,423
- typeof(Cursors).GetField("hand", BindingFlags.NonPublic | BindingFlags.Static)
- .SetValue(null, new Cursor(NativeMethods.LoadCursor(IntPtr.Zero, NativeConstants.IDC_HAND)));
-
- return true;
- }
- catch
- {
- // If it fails, we'll just have to live with the old hand.
- return false;
- }
- }
-
public static bool IsTabletMode()
{
//int state = NativeMethods.GetSystemMetrics(SystemMetric.SM_CONVERTIBLESLATEMODE);
diff --git a/ShareX.HelpersLib/HttpClientFactory.cs b/ShareX.HelpersLib/HttpClientFactory.cs
index d5317a732..90f8ef498 100644
--- a/ShareX.HelpersLib/HttpClientFactory.cs
+++ b/ShareX.HelpersLib/HttpClientFactory.cs
@@ -48,7 +48,7 @@ namespace ShareX.HelpersLib
};
client = new HttpClient(clientHandler);
- client.DefaultRequestHeaders.Headers["User-Agent"].ToString().ParseAdd(ShareXResources.Headers["User-Agent"].ToString());
+ client.DefaultRequestHeaders.UserAgent.ParseAdd(ShareXResources.UserAgent);
client.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue()
{
NoCache = true
diff --git a/ShareX.HelpersLib/Input/InputManager.cs b/ShareX.HelpersLib/Input/InputManager.cs
index 83e6c6d37..65e0f1bde 100644
--- a/ShareX.HelpersLib/Input/InputManager.cs
+++ b/ShareX.HelpersLib/Input/InputManager.cs
@@ -29,7 +29,6 @@ using System.Drawing;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
-using Microsoft.AspNetCore.Mvc.ViewFeatures;
namespace ShareX.HelpersLib
{
diff --git a/ShareX.HelpersLib/Native/NativeStructs.cs b/ShareX.HelpersLib/Native/NativeStructs.cs
index af674c46f..513ffbfec 100644
--- a/ShareX.HelpersLib/Native/NativeStructs.cs
+++ b/ShareX.HelpersLib/Native/NativeStructs.cs
@@ -27,7 +27,6 @@ using System;
using System.Drawing;
using System.Globalization;
using System.Runtime.InteropServices;
-using Microsoft.AspNetCore.Mvc.ViewFeatures;
namespace ShareX.HelpersLib
{
diff --git a/ShareX.HelpersLib/Settings/DPAPIEncryptedStringValueProvider.cs b/ShareX.HelpersLib/Settings/DPAPIEncryptedStringValueProvider.cs
index ebbde7b80..d5b9e6d21 100644
--- a/ShareX.HelpersLib/Settings/DPAPIEncryptedStringValueProvider.cs
+++ b/ShareX.HelpersLib/Settings/DPAPIEncryptedStringValueProvider.cs
@@ -25,7 +25,6 @@
using Newtonsoft.Json.Serialization;
using System.Reflection;
-using Microsoft.AspNetCore.Mvc.ModelBinding;
namespace ShareX.HelpersLib
{
diff --git a/ShareX.HelpersLib/ShareX.HelpersLib.csproj b/ShareX.HelpersLib/ShareX.HelpersLib.csproj
index 6dd838ec0..5b2c6dfba 100644
--- a/ShareX.HelpersLib/ShareX.HelpersLib.csproj
+++ b/ShareX.HelpersLib/ShareX.HelpersLib.csproj
@@ -8,8 +8,6 @@
-
-
diff --git a/ShareX.HelpersLib/SingleInstanceManager.cs b/ShareX.HelpersLib/SingleInstanceManager.cs
index 2c456201b..86a319049 100644
--- a/ShareX.HelpersLib/SingleInstanceManager.cs
+++ b/ShareX.HelpersLib/SingleInstanceManager.cs
@@ -100,8 +100,10 @@ namespace ShareX.HelpersLib
pipeSecurity.AddAccessRule(new PipeAccessRule(identity.User, PipeAccessRights.ReadWrite, AccessControlType.Allow));
}
- using (NamedPipeServerStream namedPipeServer = new NamedPipeServerStream(PipeName, PipeDirection.InOut, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous, 0, 0, pipeSecurity))
+ using (NamedPipeServerStream namedPipeServer = new NamedPipeServerStream(PipeName, PipeDirection.InOut, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous, 0, 0))
{
+ namedPipeServer.SetAccessControl(pipeSecurity);
+
namedPipeServerCreated = true;
await namedPipeServer.WaitForConnectionAsync(cts.Token).ConfigureAwait(false);
diff --git a/ShareX.HistoryLib/ShareX.HistoryLib.csproj b/ShareX.HistoryLib/ShareX.HistoryLib.csproj
index b899114e3..f043080ff 100644
--- a/ShareX.HistoryLib/ShareX.HistoryLib.csproj
+++ b/ShareX.HistoryLib/ShareX.HistoryLib.csproj
@@ -1,6 +1,6 @@
- net9.0
+ net9.0-windows
Library
true
diff --git a/ShareX.ImageEffectsLib/ShareX.ImageEffectsLib.csproj b/ShareX.ImageEffectsLib/ShareX.ImageEffectsLib.csproj
index 8ca33d982..439ff720a 100644
--- a/ShareX.ImageEffectsLib/ShareX.ImageEffectsLib.csproj
+++ b/ShareX.ImageEffectsLib/ShareX.ImageEffectsLib.csproj
@@ -1,6 +1,6 @@
- net9.0
+ net9.0-windows
Library
true
diff --git a/ShareX.IndexerLib/ShareX.IndexerLib.csproj b/ShareX.IndexerLib/ShareX.IndexerLib.csproj
index 8ca33d982..439ff720a 100644
--- a/ShareX.IndexerLib/ShareX.IndexerLib.csproj
+++ b/ShareX.IndexerLib/ShareX.IndexerLib.csproj
@@ -1,6 +1,6 @@
- net9.0
+ net9.0-windows
Library
true
diff --git a/ShareX.MediaLib/ShareX.MediaLib.csproj b/ShareX.MediaLib/ShareX.MediaLib.csproj
index 18c9b02c1..6ea09d748 100644
--- a/ShareX.MediaLib/ShareX.MediaLib.csproj
+++ b/ShareX.MediaLib/ShareX.MediaLib.csproj
@@ -1,6 +1,6 @@
- net9.0
+ net9.0-windows
Library
true
diff --git a/ShareX.ScreenCaptureLib/ShareX.ScreenCaptureLib.csproj b/ShareX.ScreenCaptureLib/ShareX.ScreenCaptureLib.csproj
index b039348f8..73599dc80 100644
--- a/ShareX.ScreenCaptureLib/ShareX.ScreenCaptureLib.csproj
+++ b/ShareX.ScreenCaptureLib/ShareX.ScreenCaptureLib.csproj
@@ -1,6 +1,6 @@
- net9.0
+ net9.0-windows
Library
true
diff --git a/ShareX.Setup/ShareX.Setup.csproj b/ShareX.Setup/ShareX.Setup.csproj
index 203bf449a..1788f5800 100644
--- a/ShareX.Setup/ShareX.Setup.csproj
+++ b/ShareX.Setup/ShareX.Setup.csproj
@@ -1,6 +1,6 @@
- net9.0
+ net9.0-windows
Exe
diff --git a/ShareX.Steam/Launcher.cs b/ShareX.Steam/Launcher.cs
index 78fc7035b..b15484cec 100644
--- a/ShareX.Steam/Launcher.cs
+++ b/ShareX.Steam/Launcher.cs
@@ -26,7 +26,6 @@
using System;
using System.Diagnostics;
using System.IO;
-using System.Management;
using System.Threading;
using System.Windows.Forms;
@@ -211,6 +210,7 @@ namespace ShareX.Steam
// Workaround 1.
try
{
+ /*
using (ManagementClass managementClass = new ManagementClass("Win32_Process"))
{
ManagementClass processInfo = new ManagementClass("Win32_ProcessStartup");
@@ -227,6 +227,7 @@ namespace ShareX.Steam
return;
}
}
+ */
}
catch
{
diff --git a/ShareX.UploadersLib/FileUploaders/Puush.cs b/ShareX.UploadersLib/FileUploaders/Puush.cs
index 15488af84..31a0e316f 100644
--- a/ShareX.UploadersLib/FileUploaders/Puush.cs
+++ b/ShareX.UploadersLib/FileUploaders/Puush.cs
@@ -80,7 +80,7 @@ namespace ShareX.UploadersLib.FileUploaders
Dictionary arguments = new Dictionary();
arguments.Add("e", email);
arguments.Add("p", password);
- arguments.Add("z", ShareXResources.Headers["User-Agent"].ToString());
+ arguments.Add("z", ShareXResources.UserAgent);
// Successful: status,apikey,expire,usage
// Failed: status
@@ -104,7 +104,7 @@ namespace ShareX.UploadersLib.FileUploaders
Dictionary arguments = new Dictionary();
arguments.Add("k", APIKey);
arguments.Add("i", id);
- arguments.Add("z", ShareXResources.Headers["User-Agent"].ToString());
+ arguments.Add("z", ShareXResources.UserAgent);
// Successful: status\nlist of history items
// Failed: status
@@ -127,7 +127,7 @@ namespace ShareX.UploadersLib.FileUploaders
{
Dictionary arguments = new Dictionary();
arguments.Add("k", APIKey);
- arguments.Add("z", ShareXResources.Headers["User-Agent"].ToString());
+ arguments.Add("z", ShareXResources.UserAgent);
// Successful: status,url,id,usage
// Failed: status
diff --git a/ShareX.UploadersLib/Helpers/RequestHelpers.cs b/ShareX.UploadersLib/Helpers/RequestHelpers.cs
index bef879526..113eebcfb 100644
--- a/ShareX.UploadersLib/Helpers/RequestHelpers.cs
+++ b/ShareX.UploadersLib/Helpers/RequestHelpers.cs
@@ -49,7 +49,7 @@ namespace ShareX.UploadersLib
string accept = null;
string referer = null;
- string userAgent = ShareXResources.Headers["User-Agent"].ToString();
+ string userAgent = ShareXResources.UserAgent;
if (headers != null)
{
@@ -120,7 +120,7 @@ namespace ShareX.UploadersLib
IWebProxy proxy = HelpersOptions.CurrentProxy.GetWebProxy();
if (proxy != null) request.Proxy = proxy;
request.Referer = referer;
- request.Headers["User-Agent"].ToString() = userAgent;
+ request.UserAgent = userAgent;
if (contentLength > 0)
{
diff --git a/ShareX.UploadersLib/ShareX.UploadersLib.csproj b/ShareX.UploadersLib/ShareX.UploadersLib.csproj
index f6445b2aa..40ae4f3c7 100644
--- a/ShareX.UploadersLib/ShareX.UploadersLib.csproj
+++ b/ShareX.UploadersLib/ShareX.UploadersLib.csproj
@@ -1,16 +1,14 @@
- net9.0
+ net9.0-windows
Library
true
-
+
-
-
-
+
diff --git a/ShareX/Program.cs b/ShareX/Program.cs
index ba2adf48f..495790572 100644
--- a/ShareX/Program.cs
+++ b/ShareX/Program.cs
@@ -353,7 +353,6 @@ namespace ShareX
UpdateManager = new ShareXUpdateManager();
LanguageHelper.ChangeLanguage(Settings.Language);
CleanupManager.CleanupAsync();
- Helpers.TryFixHandCursor();
DebugHelper.WriteLine("MainForm init started.");
MainForm = new MainForm();
diff --git a/ShareX/ShareX.csproj b/ShareX/ShareX.csproj
index ce5860bde..41943f303 100644
--- a/ShareX/ShareX.csproj
+++ b/ShareX/ShareX.csproj
@@ -1,18 +1,17 @@
- net9.0-windows
+ net9.0-windows10.0.22621.0
WinExe
ShareX_Icon.ico
true
app.manifest
Screen capture, file sharing and productivity tool
+ 10.0.22621.0
-
-
-
-
+
+
diff --git a/ShareX/TaskHelpers.cs b/ShareX/TaskHelpers.cs
index fce166484..17147930e 100644
--- a/ShareX/TaskHelpers.cs
+++ b/ShareX/TaskHelpers.cs
@@ -46,7 +46,7 @@ using System.Windows.Forms;
using ZXing;
using ZXing.Common;
using ZXing.QrCode;
-using ZXing.Rendering;
+using ZXing.Windows.Compatibility;
namespace ShareX
{
@@ -2286,7 +2286,7 @@ namespace ShareX
{
try
{
- BarcodeWriter writer = new BarcodeWriter
+ BarcodeWriter writer = new BarcodeWriter()
{
Format = BarcodeFormat.QR_CODE,
Options = new QrCodeEncodingOptions
@@ -2316,7 +2316,7 @@ namespace ShareX
{
try
{
- BarcodeReader barcodeReader = new BarcodeReader
+ BarcodeReader barcodeReader = new BarcodeReader()
{
AutoRotate = true,
Options = new DecodingOptions