0

我正在使用 VB.NET 创建视频复制应用程序。我可以轻松地将所需的文件从路径复制到 USB,但我在使用手机等便携式设备时遇到了麻烦。

到目前为止,我能够使用此问题中给出的代码和 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
4

1 回答 1

0

您对上一个主题有一个很好的答案,其中包含您需要的所有信息。

在这里您需要学习便携式设备文档,编程指南 -> 操作设备内容。在那里,您可以找到从 PC 复制文件到设备的示例,并附上它是如何工作的评论。

您还可以从链接下载整个示例项目。它包含内容传输的示例。

简而言之:您应该创建一个包含要传输的文件数据的流对象,使用内容对象的 CreateObjectWithPropertiesAndData 方法,并将流数据复制到从内容接收的流中。

复制完所有数据后,从 IPortableDeviceDataStream 调用 Commit 让驱动程序知道您已完成。

于 2017-06-15T13:20:03.307 回答