【问题标题】:Open a file in a new instance of program在程序的新实例中打开文件
【发布时间】:2019-04-28 11:04:45
【问题描述】:

全部;

我编写了一些代码,当我扫描条形码时会打开设计蓝图。它工作得很好,但我想打开一个设计软件(Solidworks)的新实例并在新实例中显示打印。现在,无论我打开了多少个 Solidworks 实例,打印只会在第一个实例启动时打开。

下面注释掉的行是有效的行,只是不在正确的实例中。下面的行是我希望工作的,但它返回一个“找不到文件”,即使 Solidworks 的路径和打印路径都是正确的。

任何关于为什么这不起作用的解释将不胜感激,因为我显然对此很陌生......并且不知道我在做什么。

Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
    Try
        Dim barcode As String = tb_barcode.Text
        Dim filename As String = tb_barcode.Text
        'Add File Extension to end of path
        Dim ext As String = ".SLDDRW"
        'Split job number from detail number in barcode textbox
        barcode = Split(tb_barcode.Text, ".")(0)
        filename = Split(tb_barcode.Text, ".")(1)
        '- This works, just in primary instance
        'System.Diagnostics.Process.Start("G:\Fixtures\" & barcode & "\Details\" & barcode & " DET " & filename & ext)
        '- This does not work
        System.Diagnostics.Process.Start("'C:\Program files\Solidworks Corp\Solidwork\SLDWORKS.exe' 'G:\Fixtures\" & barcode & "\Details\" & barcode & " DET " & filename & ext + "'")

    Catch
        MessageBox.Show("File Not Found")
    End Try
End Sub

【问题讨论】:

    标签: vb.net cad solidworks


    【解决方案1】:

    对不起,天真的方法,但 Process.Start 中不应该有逗号在 2 个参数之间?

    Start(String, String) 
    

    通过指定应用程序的名称和一组命令行参数来启动进程资源,并将资源与新的进程组件相关联。 docs

    【讨论】:

    • 无需抱歉!我已经尝试过逗号,但它似乎也不起作用: System.Diagnostics.Process.Start("C:\Program files\Solidworks Corp\Solidwork\SLDWORKS.exe", "G:\Fixtures\ "" " & 条形码 & "\Details\" & 条形码 & " DET " & 文件名 & ext)
    • 您需要在字符串中使用逗号和引号来表示空格字符:askubuntu.com/questions/530578/… 否则它会尝试打开不存在的“C:\Program”。
    【解决方案2】:

    为什么不使用Application.ExecutablePath。它会返回应用程序的路径及其全名。那么你的代码应该是

       System.Diagnostics.Process.Start(Application.Executablepath, "G:\Fixtures\" & barcode & "\Details\" & barcode & " DET " & filename & ext + "'")
    

    还要确保第二个字符串参数是有效路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-12
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多