diff --git a/shadowsocks-csharp/Controller/System/AutoStartup.cs b/shadowsocks-csharp/Controller/System/AutoStartup.cs index 9f3e5ff2..310a3c71 100644 --- a/shadowsocks-csharp/Controller/System/AutoStartup.cs +++ b/shadowsocks-csharp/Controller/System/AutoStartup.cs @@ -115,8 +115,10 @@ namespace Shadowsocks.Controller [DllImport("kernel32.dll", SetLastError = true)] static extern int UnregisterApplicationRestart(); + [Flags] enum ApplicationRestartFlags { + RESTART_ALWAYS = 0, RESTART_NO_CRASH = 1, RESTART_NO_HANG = 2, RESTART_NO_PATCH = 4, @@ -137,7 +139,7 @@ namespace Shadowsocks.Controller string cmdline = string.Join(" ", args); // first parameter is process command line parameter // needn't include the name of the executable in the command line - RegisterApplicationRestart(cmdline, (int)ApplicationRestartFlags.RESTART_NO_CRASH | (int)ApplicationRestartFlags.RESTART_NO_HANG); + RegisterApplicationRestart(cmdline, (int)(ApplicationRestartFlags.RESTART_NO_CRASH | ApplicationRestartFlags.RESTART_NO_HANG)); Logging.Debug("Register restart after system reboot, command line:" + cmdline); } // requested unregister, which has no side effect