使用按钮使用选定的文件执行另一个应用程序(C# 编程)

Executing another Application with selected file using a button (C# Programming)

首先,我是 C# 编程的新手,我尝试在谷歌上搜索有关我的问题的解决方案,但似乎我找不到,或者只是太倒霉或太盲目而没有找到一个。我使用的是 Microsoft Visual Studio 2005。

总之。我被分配到 modify/create 一个自动化测试环境输入应用程序。所述应用程序已经具有 run/start 带有预定义文件的 CANoe 程序的功能,或者如果它已经 运行,则停止该程序。

private void button1_Click(object sender, EventArgs e)
    {
        // Execute CANoe(Obtain CANoe application objectg)
        mApp       = new CANoe.Application();
        mMsr       = (CANoe.Measurement)mApp.Measurement;

        try
        {
            mApp.Open("C:\Users\uidr3024\Downloads\SRLCam4T0_Validation_ControlTool\cfg\SVT_SRLCam4T0_025B.cfg", true, true);
        }
        catch (System.Exception ex)
        {
            System.Console.WriteLine(ex.Message);
        }
    }


    private void button2_Click(object sender, EventArgs e)
    {
        // Finish CANoe
        if (mApp != null) {
            mApp.Quit();            
        }
        // Release the object
        fnReleaseComObject(mMsr);
        fnReleaseComObject(mApp);
    }

我现在想做的是有一个 OpenFileDialog 框,它将显示 select 文件,用户将能够浏览和 select 任何文件以启动 CANoe 程序selected 文件,而不仅仅是按照 "mApp.Open()" 语法在代码中输入的文件路径。我试过这个:

private void button5_Click_1(object sender, EventArgs e)
    {
        OpenFileDialog openFileDialog1 = new OpenFileDialog();
        openFileDialog1.InitialDirectory = @"C:\Users\uidr3024\Downloads\SRLCam4T0_Validation_ControlTool\cfg";
        openFileDialog1.Title = "Browse Configuration Files";
        openFileDialog1.CheckFileExists =  true;
        openFileDialog1.CheckPathExists = true;
        openFileDialog1.Filter = "CANalyzer/CANoe Configuration (*.cfg)|*.cfg |All files (*.*)|*.*";
        openFileDialog1.FilterIndex = 1;
        openFileDialog1.RestoreDirectory = true;

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            textBox1.Text = openFileDialog1.FileName;
        }
    }

我已经尝试过我经常在 Web 和教程中看到的这段代码,但我不知道如何将它与 运行 CANoe 程序的按钮合并,以便当用户单击从对话框中打开按钮,文件路径将显示在文本框中(可选)and/or 当用户然后单击启动 CANoe 时,CANoe 程序将以 selected .cfg 文件启动。

我说得有道理吗?还是我在这里做的是对的?

顺便说一句,我找到了这些……我正在为这些使用 CANoe 库,ofc。

    #region "***** CANoe Object definition *****"
    private CANoe.Application      mApp          = null; // CANoe Application CANoeƒAƒvƒŠƒP[ƒVƒ‡ƒ“
    private CANoe.Measurement      mMsr          = null; // CANoe Mesurement function CANoe‘ª’è‹@”\
    private CANoe.Variable         mSysVar       = null; // System variable ƒVƒXƒeƒ€•Ï”
    private CANoe.Variable         mSysVar_start = null; // System variable ƒVƒXƒeƒ€•Ï”
    #endregion

我认为您已经完成了大部分艰苦的工作,除非我遗漏了某些东西我认为您只需要在 button1_Click 方法中使用这样的东西:

if( textBox1.Text != String.Empty && System.IO.File.Exists(textBox1.Text) )
{
    // The textbox has a filename in it, use it
    mApp.Open(textBox1.Text, true, true);
}
else
{
    // The user hasn't selected a config file, launch with default
    mApp.Open("C:\Users\uidr3024\Downloads\SRLCam4T0_Validation_ControlTool\cfg\SVT_SRLCam4T0_025B.cfg", true, true);
}