c# - 如何从通过 USB 连接的相机读取文件

标签 c# winforms usb

在 C# 中,如何将文件从相机复制到本地驱动器?相机是通过 USB 连接的,它不会显示为标准驱动器。

我使用的是 Sony Handycam HDR-CX160。我想编写一个小型 c# windowsform 应用程序,用于从设备复制视频文件。

那么我的应用程序如何从通过 USB 连接的设备复制文件?它不会显示为驱动器,但会显示在 Windows 资源管理器中。当我在 C# 中搜索驱动器时,它不在列表中?

谢谢!

========更新=======

我将尝试以不同的方式提出这个问题,希望它能重新打开。

我需要使用 C# 将文件从相机复制到我的本地硬盘。如果我新建路径,这行代码就可以做到。

string cameraPath = ?????
string sourcePath = Path.Combine(cameraPath, @"\Video\2012-1-1.WMV");
string targetPath =  @"C:\Video\2012-1-1.WMV";
System.IO.File.Copy(sourceFile, destFile, true);

那么我该如何解析 cameraPath 呢?是否有另一种方法可以一起完成这一切?

最佳答案

我不知道你的设备的具体情况,最好的办法可能是使用你的设备附带的软件。

但是,如果数码相机本身不显示为您可以从中读取文件的驱动器,则可能支持 Windows Image Acquisition .从 C# 使用它的最简单方法是使用 Windows Image Acquisition Automation Layer . Scott Hanselman 有一篇旧的 Coding4Fun 文章 Look at me! Windows Image Acquisition在第 9 channel 。

如果您能够从相机中取出闪存卡,您也可以尝试使用读卡器读取这张卡以直接访问文件。

此外,如果您想在连接相机时运行您的应用程序,您需要 register an AutoPlay event handler .连接相机时有一个事件。

关于c# - 如何从通过 USB 连接的相机读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11812345/

相关文章:

windows-7 - Windows 7 中的 USB Missile Launcher 驱动程序

c# - 比较两个数据表以确定其中一个而不是另一个中的行

c# - 如何将编译器检查的属性名称/表达式树传递给自定义属性

c# - 从 xml 文件中检索数据并插入到数据库表中

c# - DataGridView KeyDown 事件不起作用

c# - 看不到 DLL 中的类

windows - 如何在 Windows/Linux 平台上将 FAT32 文件系统转储到 USB 中?

javascript - 将 MathML 解析为纯数学表达式

C# Backgroundworker 报告 2 个进度条的进度?

Java 从连续 USB 流读取显示损坏