diff --git a/Plugins/Wox.Plugin.Program/Programs/Win32.cs b/Plugins/Wox.Plugin.Program/Programs/Win32.cs
index 36e08a3c46..f0697abef3 100644
--- a/Plugins/Wox.Plugin.Program/Programs/Win32.cs
+++ b/Plugins/Wox.Plugin.Program/Programs/Win32.cs
@@ -10,6 +10,7 @@ using Microsoft.Win32;
using Shell;
using Wox.Infrastructure;
using Wox.Plugin.Program.Logger;
+using Wox.Plugin.SharedCommands;
namespace Wox.Plugin.Program.Programs
{
@@ -96,14 +97,7 @@ namespace Wox.Plugin.Program.Programs
Title = api.GetTranslation("wox_plugin_program_run_as_administrator"),
Action = _ =>
{
- var info = new ProcessStartInfo
- {
- FileName = FullPath,
- WorkingDirectory = ParentDirectory,
- Verb = "runas"
- };
- var hide = Main.StartProcess(info);
- return hide;
+ return Main.StartProcess(ShellCommand.SetCMDRunAsAdministrator(FullPath, ParentDirectory));
},
IcoPath = "Images/cmd.png"
},
diff --git a/Wox.Plugin/SharedCommands/ShellCommand.cs b/Wox.Plugin/SharedCommands/ShellCommand.cs
new file mode 100644
index 0000000000..ac3f4e7cba
--- /dev/null
+++ b/Wox.Plugin/SharedCommands/ShellCommand.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Wox.Plugin.SharedCommands
+{
+ public static class ShellCommand
+ {
+ public static ProcessStartInfo SetCMDRunAsAdministrator(this string fullPath, string parentDirectory)
+ {
+ var info = new ProcessStartInfo
+ {
+ FileName = fullPath,
+ WorkingDirectory = parentDirectory,
+ Verb = "runas"
+ };
+
+ return info;
+ }
+ }
+}
diff --git a/Wox.Plugin/Wox.Plugin.csproj b/Wox.Plugin/Wox.Plugin.csproj
index 843cc7d8bf..3a486fb42b 100644
--- a/Wox.Plugin/Wox.Plugin.csproj
+++ b/Wox.Plugin/Wox.Plugin.csproj
@@ -78,6 +78,7 @@
+