晚上好, 请问我在VB中打开一个打开文件的应用程序。这是我的代码:
Public Class Form1
Private Sub Form1_click(sender As Object, e As EventArgs) Handles MyClass.Click
Dim myProc As New System.Diagnostics.Process()
myProc.StartInfo.FileName = "E:\ex.txt" 'The file in a flash drive
myProc.Start()
Me.Hide()
End Sub
End Class
问题是该程序对我来说非常好(我有最新版本的.NET Framework),但是,当我在另一个办公室中尝试它时,它会给出异常“System.ComponentModel.Win32Exception 0x80004005:The system找不到指定的文件“。 请问,如何在其他设备(x86或x64,有或没有最新版本的.net框架)中使用它? 谢谢。
更新1: 我添加了异常代码:0x80004005
更新2: 我只是在我的代码中编辑了路径,因为旧的只是为了解释我的问题,但似乎这是一个非常糟糕的主意,所以,我只是修改了我的项目中的真实路径(E:\ ex) .txt)的
答案 0 :(得分:0)
所有机器上的驱动器号并不总是相同,尤其是可移动存储器
System.IO.DriveInfo.GetDrives
可用于获取所有逻辑驱动器的信息并查找文件:
For Each driveInfo In System.IO.DriveInfo.GetDrives ' loop all logical drives on the computer
If driveInfo.DriveType = System.IO.DriveType.Removable Then ' optional check if removable storage device
Dim fileInfos = driveInfo.RootDirectory.GetFiles("ex.txt") ' search for driveLetter:\ex.txt
If fileInfos.Length > 0 Then
System.Diagnostics.Process.Start(fileInfos(0).FullName) ' start the file
Exit For ' optional to leave the For loop
End If
End If
Next