Esempio n. 1
0
        private static bool HandleCommandLineArgs()
        {
            var localSettings = ApplicationData.Current.LocalSettings;
            var arguments     = (string)localSettings.Values["Arguments"];

            if (!string.IsNullOrWhiteSpace(arguments))
            {
                localSettings.Values.Remove("Arguments");

                if (arguments == "StartUwp")
                {
                    var folder = localSettings.Values.Get("Folder", "");
                    localSettings.Values.Remove("Folder");

                    using Process process             = new Process();
                    process.StartInfo.UseShellExecute = true;
                    process.StartInfo.FileName        = "files.exe";
                    process.StartInfo.Arguments       = folder;
                    process.Start();

                    TerminateProcess((int)localSettings.Values["pid"]);
                    return(true);
                }
                else if (arguments == "TerminateUwp")
                {
                    TerminateProcess((int)localSettings.Values["pid"]);
                    return(true);
                }
                else if (arguments == "ShellCommand")
                {
                    TerminateProcess((int)localSettings.Values["pid"]);

                    Win32API.OpenFolderInExistingShellWindow((string)localSettings.Values["ShellCommand"]);

                    return(true);
                }
            }

            return(false);
        }