vb.net - 在程序的新实例中打开文件
问题描述
全部;
我编写了一些代码,当我扫描条形码时会打开设计蓝图。它工作得很好,但我想打开一个设计软件(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
解决方案
你为什么不使用Application.ExecutablePath
.That 返回应用程序的路径及其全名。那么你的代码应该是
System.Diagnostics.Process.Start(Application.Executablepath, "G:\Fixtures\" & barcode & "\Details\" & barcode & " DET " & filename & ext + "'")
还要确保第二个字符串参数是有效路径。
推荐阅读
- python - Python re.findall 组织列表
- pandas - 是否有 pandas 功能可以获取 None 而不是索引错误?
- r - R ggplot2:对数转换数据的自定义 y 轴刻度标签?
- sql - 在 Oracle SQL 中使用查询的 Cast 和 Case 语句
- tensorflow - 张量流安装问题
- python - 使用 project.toml 配置 isort 和 autoflake
- r - 在移动到下一列之前是否有读取特定值的 R 代码?
- reactjs - ReactTags 是否适用于 React 16.12 应用程序?
- amazon-web-services - AWS Cloudfront 无法访问使用 CodeBuild 部署的 S3 文件
- arrays - 将数组拆分为不同大小的 N 块