Beispiel #1
0
        /*
         * RegistryKey TempKeyCM = null;
         *      TempKeyCM = Registry.ClassesRoot.CreateSubKey(@"SystemFileAssociations\.bin\shell\Edit in T5Suite 2.0\command");
         *      string StartKey = System.Windows.Forms.Application.ExecutablePath + " \"%1\"";
         *      TempKeyCM.SetValue("", StartKey);
         *      TempKeyCM.Close();         * */

        private TrionicFileType DetermineFileType(string filename)
        {
            TrionicFileType ft = TrionicFileType.UnknownBinFile;
            FileInfo        fi = new FileInfo(filename);

            if (fi.Length == 0x20000 || fi.Length == 0x40000)
            {
                if (CheckTrionic5FileType(filename))
                {
                    ft = TrionicFileType.Trionic5File;
                }
            }
            else if (fi.Length == 0x80000)
            {
                if (CheckTrionic7FileType(filename))
                {
                    ft = TrionicFileType.Trionic7File;
                }
            }
            else if (fi.Length == 0x100000)
            {
                if (CheckTrionic8FileType(filename))
                {
                    ft = TrionicFileType.Trionic8File;
                }
            }
            return(ft);
        }
Beispiel #2
0
        private void StartSuite(string filename)
        {
            // open the bin file
            Console.WriteLine("Filename: " + filename);
            if (File.Exists(filename))
            {
                Console.WriteLine("File exists!");
                TrionicFileType fileType = DetermineFileType(filename);
                Console.WriteLine("Filetype: " + fileType.ToString());
                string exeName = string.Empty;
                switch (fileType)
                {
                case TrionicFileType.Trionic5File:
                    // start T5Suite
                    exeName = getFileAssociation(@"SystemFileAssociations\.bin\shell\Edit in T5Suite 2.0\command");
                    if (exeName == string.Empty)
                    {
                        exeName = getFileAssociation(@"SystemFileAssociations\.bin\shell\Edit in T5 Suite\command");
                    }
                    break;

                case TrionicFileType.Trionic7File:
                    // start T7Suite
                    exeName = getFileAssociation(@"SystemFileAssociations\.bin\shell\Edit in T7 Suite\command");
                    break;

                case TrionicFileType.Trionic8File:
                    exeName = getFileAssociation(@"SystemFileAssociations\.bin\shell\Edit in T8 Suite\command");
                    // start T8Suite
                    break;
                }
                if (exeName != string.Empty)
                {
                    ProcessStartInfo startInfo = new ProcessStartInfo(exeName, "\"" + filename + "\"");
                    Process.Start(startInfo);
                }
            }
        }
Beispiel #3
0
        public Form1(string[] args)
        {
            InitializeComponent();

            try
            {
                RegistryKey TempKeyCM = null;
                TempKeyCM = Registry.ClassesRoot.CreateSubKey(@"SystemFileAssociations\.bin\shell\Auto detect Trionic file type\command");
                string StartKey = System.Windows.Forms.Application.ExecutablePath + " \"%1\"";
                TempKeyCM.SetValue("", StartKey);
                TempKeyCM.Close();
            }
            catch (Exception E)
            {
                Console.WriteLine(E.Message);
            }

            if (args.Length > 0)
            {
                Console.WriteLine("Argument: " + args[0].ToString());
                if (args[0].ToString().ToUpper().EndsWith(".BIN"))
                {
                    // open the bin file
                    string filename = args[0];
                    Console.WriteLine("Filename: " + filename);
                    if (File.Exists(filename))
                    {
                        Console.WriteLine("File exists!");
                        TrionicFileType fileType = DetermineFileType(filename);
                        Console.WriteLine("Filetype: " + fileType.ToString());
                        string exeName = string.Empty;
                        switch (fileType)
                        {
                        case TrionicFileType.Trionic5File:
                            // start T5Suite
                            exeName = getFileAssociation(@"SystemFileAssociations\.bin\shell\Edit in T5Suite 2.0\command");
                            if (exeName == string.Empty)
                            {
                                exeName = getFileAssociation(@"SystemFileAssociations\.bin\shell\Edit in T5 Suite\command");
                            }
                            break;

                        case TrionicFileType.Trionic7File:
                            // start T7Suite
                            exeName = getFileAssociation(@"SystemFileAssociations\.bin\shell\Edit in T7 Suite\command");
                            break;

                        case TrionicFileType.Trionic8File:
                            exeName = getFileAssociation(@"SystemFileAssociations\.bin\shell\Edit in T8 Suite\command");
                            // start T8Suite
                            break;
                        }
                        if (exeName != string.Empty)
                        {
                            ProcessStartInfo startInfo = new ProcessStartInfo(exeName, "\"" + filename + "\"");
                            Process.Start(startInfo);
                        }
                    }
                }
            }
            Environment.Exit(0);
        }