public static bool launchProgram(int iProgIndex) { //isLaunched=false; lastErrorString = null; if (extinfoNow != null) { if (extinfoNow.isSlotUsed(iProgIndex)) { try { ProgChooser.IsAnswered = true; //string sCommand=proginfoarrNow[iProgIndex].FullName+" \""+programArgs[iParam0]+"\""; //ProcessStartInfo psiNow=new ProcessStartInfo(proginfoarrNow[iProgIndex].FullName,programArgs[iParam0]); //Process ps=Process.Start(psiNow); Process ps = new Process(); ps.StartInfo.FileName = extinfoNow.proginfoarr[iProgIndex].FullName; if (openedFileFullName.Contains(" ") && openedFileFullName.Length > 2 && (openedFileFullName[0] != '"' || openedFileFullName[openedFileFullName.Length - 1] != '"')) { ps.StartInfo.Arguments = "\"" + openedFileFullName + "\""; } else { ps.StartInfo.Arguments = openedFileFullName; } ps.Start(); isLaunched = true; } catch (Exception exn) { ProgChooser.Error_WriteLine("launchProgram could not finish for the following reason: " + exn.ToString()); } } } else { ProgChooser.Error_WriteLine("Sorry, ProgChooser has no info for that file extension"); } return(ProgChooser.isLaunched); }
/// <summary> /// Load the programs for the extension of the program in the parameters /// </summary> /// <param name="programArgs"></param> /// <returns>Returns error message, otherwise null if status is good.</returns> public static string load(string[] programArgs) { lastErrorString = null; string errorString = null; try { ProgChooser.IsAnswered = false; //int proginfoarrNow_Max=10; //ProgInfo[] proginfoarrNow=new ProgInfo[proginfoarrNow_Max]; //int extinfoNow.ProgramCount=0; //proginfoarrNow[extinfoNow.ProgramCount].Title="SharpDevelop 3.0"; //proginfoarrNow[extinfoNow.ProgramCount].FullName="C:\\PortableApps\\Programming\\SharpDevelop\\3.0\\bin\\SharpDevelop.exe"; //extinfoNow.ProgramCount++; //proginfoarrNow[extinfoNow.ProgramCount].Title="Microsoft Visual C++ 2008 Express Edition"; //proginfoarrNow[extinfoNow.ProgramCount].FullName="C:\\Program Files\\Microsoft Visual Studio 9.0\\Common7\\IDE\\VCExpress.exe"; //extinfoNow.ProgramCount++; /// ADD PROGRAMS BY EXTENSION /// sParticiple = "adding known extension"; //SharpDevelop 3.x: ProgChooser.AddExtension("sln"); sParticiple = "adding programs"; bool IsGood = false; string sExeNow = ""; sExeNow = @"C:\Program Files (x86)\SharpDevelop\1.1\bin\SharpDevelop.exe"; try { string sExeAlt = @"C:\Program Files\SharpDevelop\1.1\bin\SharpDevelop.exe"; if (File.Exists(sExeAlt)) { sExeNow = sExeAlt; } } catch {} //dont care IsGood = false; if (File.Exists(sExeNow)) { ProgChooser.AddProg("sln", sExeNow, "SharpDevelop 1", 1); IsGood = true; } else //if (!IsGood) { //ALWAYS add, so that 1 key on keyboard opens version 1 { ProgChooser.AddProg("sln", sExeNow, "NONE (no SharpDevelop 1 found)", 1); } sExeNow = @"C:\Program Files (x86)\SharpDevelop\2.2\bin\SharpDevelop.exe"; try { string sExeAlt = @"C:\Program Files\SharpDevelop\2.2\bin\SharpDevelop.exe"; if (File.Exists(sExeAlt)) { sExeNow = sExeAlt; } } catch {} //dont care IsGood = false; try { if (File.Exists(sExeNow)) { ProgChooser.AddProg("sln", sExeNow, "SharpDevelop 2", 2); IsGood = true; } } catch {} //don't care if (!IsGood) { //ALWAYS add, so that 2 key on keyboard opens version 2 ProgChooser.AddProg("sln", sExeNow, "NONE (no SharpDevelop 2 found)", 2); } sExeNow = "C:\\Program Files (x86)\\SharpDevelop\\3.0\\bin\\SharpDevelop.exe"; try { string sExeAlt = "E:\\PortableApps\\Programming\\SharpDevelop\\3.0\\bin\\SharpDevelop.exe"; if (File.Exists(sExeAlt)) { sExeNow = sExeAlt; } } catch { } try { string sExeAlt = "C:\\PortableApps\\Programming\\SharpDevelop\\3.0\\bin\\SharpDevelop.exe"; if (File.Exists(sExeAlt)) { sExeNow = sExeAlt; } } catch { } try { string sExeAlt = "C:\\Program Files\\SharpDevelop\\3.0\\bin\\SharpDevelop.exe"; if (File.Exists(sExeAlt)) { sExeNow = sExeAlt; } } catch { } IsGood = false; try { if (File.Exists(sExeNow)) { ProgChooser.AddProg("sln", sExeNow, "SharpDevelop 3", 3); IsGood = true; } } catch {} //don't care if (!IsGood) { //ALWAYS add, so that 3 key on keyboard opens version 3 ProgChooser.AddProg("sln", sExeNow, "NONE (no SharpDevelop 3 found)", 3); } //Visual C++: sExeNow = "C:\\Program Files\\Microsoft Visual Studio 9.0\\Common7\\IDE\\VCExpress.exe"; try { string sExeAlt = "E:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\Common7\\IDE\\VCExpress.exe"; if (File.Exists(sExeAlt)) { sExeNow = sExeAlt; } } catch { } if (File.Exists(sExeNow)) { ProgChooser.AddProg("sln", sExeNow, "Microsoft Visual C++ 2008 Express Edition", 9); } else { ProgChooser.AddProg("sln", sExeNow, "NONE (no Microsoft Visual C++ 2008 Express Edition found)", 9); } try { string sExeAlt = "E:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\Common7\\IDE\\vcsexpress.exe"; if (File.Exists(sExeAlt)) { sExeNow = sExeAlt; } if (File.Exists(sExeNow)) { ProgChooser.AddProg("sln", sExeNow, "Microsoft Visual C# 2008 Express Edition", 0); } else { ProgChooser.AddProg("sln", sExeNow, "NONE (no Microsoft Visual C# 2008 Express Edition found)", 0); } } catch { } } catch (Exception exn) { ProgChooser.Error_WriteLine("Could not finish ProgChooserDefaults load for the following reason:" + exn.ToString()); } ProgChooser.setOpenedFileFullNameFrom(programArgs); // if (ProgChooser.getOpenedFileFullName()!=null) { // // } // //NOTE: else setOpendFileFullNameFrom already should have set lastErrorString return(errorString); }