public static Process StartTable(PinballSystem system, PinballTable table)
        {
            var proc = new Process();

            proc.StartInfo.FileName       = GetSystemPath(system);
            proc.StartInfo.Arguments      = GetSystemParameters(system, table);
            proc.StartInfo.WindowStyle    = ProcessWindowStyle.Minimized;
            proc.StartInfo.CreateNoWindow = true;
            proc.Start();
            return(proc);
        }
        public static string GetSystemParameters(PinballSystem system, PinballTable table)
        {
            //Replace [TABLENAME]
            var regex = new Regex(@"\[TABLENAME\]");
            var param = regex.Replace(system.Parameters, table.Name);

            //Replace [SYSTEMPATH]
            regex = new Regex(@"\[SYSTEMPATH\]");
            param = regex.Replace(param, system.WorkingPath);

            return(param);
        }
 public static string GetSystemPath(PinballSystem system)
 {
     return($@"{system.WorkingPath}\{system.Executable}");
 }