首页 > 解决方案 > 在程序的新实例中打开文件

问题描述

全部;

我编写了一些代码,当我扫描条形码时会打开设计蓝图。它工作得很好,但我想打开一个设计软件(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.netcadsolidworks

解决方案


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

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

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


推荐阅读