/* * 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); }
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); } } }
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); }