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

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

我使用的是Sony Handycam HDR-CX160.我想写一个小的c#windowsform app来复制设备中的视频文件.

那么我的应用程序如何从通过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在第9频道上有一篇旧的Coding4Fun文章Look at me! Windows Image Acquisition.

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

此外,如果要在连接相机时运行应用程序,则需要register an AutoPlay event handler.连接相机时会发生事件.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...