/// <summary>
        /// 创建一个指定文件地址的进程,同时会允许指定一个进程的优先级。
        /// </summary>
        /// <param name="executeFileUrl">需要创建进程的一个Windows可执行文件。</param>
        /// <param name="priority">需要被创建的进程的优先级。</param>
        /// <returns>该方法会返回这个进程的System.Diagnostics.Process实例。</returns>
        /// <exception cref="FileNotFoundException">当指定的Windows可执行文件找不到时,则会抛出这个异常。</exception>
        public static Process CreateProcess(string executeFileUrl, EProcessPriority priority)
        {
            Process retval;

            if (!FileOperator.FileExists(executeFileUrl))
            {
                throw new FileNotFoundException("指定的Windows可执行文件不存在!");
            }
            retval = Process.Start(executeFileUrl);
            retval.PriorityClass = (ProcessPriorityClass)priority;
            return(retval);
        }
        /// <summary>
        /// 更改进程的优先级,但是这个操作可能存在风险,更改成功与否,都会返回一个Boolean值。
        /// </summary>
        /// <param name="processName">需要被修改优先级的进程的映像名称。</param>
        /// <param name="priority">需要被修改的进程优先级。</param>
        /// <returns>如果这个方法的操作成功则为true,反之为false。</returns>
        public static bool ChangeProcessPriority(string processName, EProcessPriority priority)
        {
            bool retval = true;

            Process[] ps = Process.GetProcesses();
            foreach (Process p in ps)
            {
                if (p.ProcessName == processName)
                {
                    try
                    {
                        p.PriorityClass = (ProcessPriorityClass)priority;
                    }
                    catch
                    {
                        retval = false;
                    }
                }
            }
            return(retval);
        }
        /// <summary>
        /// 创建一个指定文件地址的进程,同时会允许指定一个进程的优先级。
        /// </summary>
        /// <param name="executeFileUrl">需要创建进程的一个Windows可执行文件。</param>
        /// <param name="priority">需要被创建的进程的优先级。</param>
        /// <returns>该方法会返回这个进程的System.Diagnostics.Process实例。</returns>
        /// <exception cref="FileNotFoundException">当指定的Windows可执行文件找不到时,则会抛出这个异常。</exception>
        public static Process CreateProcess(string executeFileUrl, EProcessPriority priority)
        {
            Process retval    = new Process();
            bool    condition = !FileOperator.FileExists(executeFileUrl) && !FileOperator.DirectoryExists(executeFileUrl);

            if (condition)
            {
                throw new FileNotFoundException("指定的Windows可执行文件不存在!");
            }
            retval = Process.Start(executeFileUrl);
            try
            {
                retval.PriorityClass = (ProcessPriorityClass)priority;
            }
            catch (NullReferenceException exception)
            {
#if DEBUG
                Console.WriteLine("Throwed Exception => \n{0}\nTime => {1}", exception.ToString(), DateTime.Now.ToString());
#endif
            }
            return(retval);
        }
        /// <summary>
        /// 创建一个拥有指定优先级的进程,在创建这个进程会指定一些命令行参数,以及权限和域。
        /// </summary>
        /// <param name="executeFileUrl">需要创建进程的一个Windows可执行文件。</param>
        /// <param name="arguments">启动该进程时传递的命令行实参。</param>
        /// <param name="userName">启动进程时使用的用户名。</param>
        /// <param name="password">一个SecureString实例,它包含启动进程时要使用的密码。</param>
        /// <param name="domian">启动进程时要使用的域。</param>
        /// <param name="priority">需要被创建的进程的优先级。</param>
        /// <returns>该方法会返回这个进程的System.Diagnostics.Process实例。</returns>
        /// <exception cref="FileNotFoundException">当指定的Windows可执行文件找不到时,则会抛出这个异常。</exception>
        public static Process CreateProcess(string executeFileUrl, string arguments, string userName, SecureString password, string domian, EProcessPriority priority)
        {
            Process retval;

            if (!FileOperator.FileExists(executeFileUrl))
            {
                throw new FileNotFoundException("指定的Windows可执行文件不存在!");
            }
            retval = Process.Start(executeFileUrl, arguments, userName, password, domian);
            retval.PriorityClass = (ProcessPriorityClass)priority;
            return(retval);
        }