我使用VB.NET创建视频复制应用程序。我可以轻松地将我需要的文件从路径复制到USB,但是我在使用手机等便携式设备时也遇到了麻烦。
到目前为止,我能够使用此question中提供的代码和DLL查找并连接手机,但我无法将文件复制到设备。
与此相关的子代码如下:
Imports System.IO
Imports PortableDevices
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MsgBox("Please make sure that your device is connected! Press ok to continue", MsgBoxStyle.OkOnly)
For Each item In listID.Items
table = Universal.convertType(item.ToString.Remove(6), 1)
colInitials = Universal.getStringUntilChar(table, "_")
'Code to get the file path stored in sql and store it as filePath
Dim filePath As New DirectoryInfo(SQL.getRecordedValue(table,
colInitials & "Location", colInitials & "ID", item.ToString.Remove(0, 6)))
Dim folderName As String = filePath.Name
' build collection for the devices
Dim pds As New PortableDeviceCollection
' get dev list
pds.Refresh()
For Each device In pds
' connect before doing stuff
device.Connect()
' find out what treasures are stored here
Dim root = device.GetContents()
' the root is the startingm root folder
'Dont know what to do here
' disconnect from this device
device.Disconnect()
Next
pds.First.Disconnect()
Next
End Sub
答案 0 :(得分:0)
您对上一主题有一个重要的answer,其中包含您需要的所有信息。
在这里,您需要学习便携式设备documentation,编程指南 - >在设备内容上运行。在那里,您可以找到从PC到设备的复制文件样本,以及它的工作原理。
您也可以从link下载整个示例项目。它包含内容传输的样本。
简而言之:您应该创建一个包含要传输的文件数据的流对象,使用内容对象中的CreateObjectWithPropertiesAndData方法,并将流数据复制到从内容接收的流中。
复制完所有数据后,从IPortableDeviceDataStream调用Commit以让驱动程序知道您已完成。