2012-08-04 60 views
7

在C#中,如何將相機中的文件複製到本地驅動器?相機通過USB連接,不會顯示爲標準驅動器。如何從通過USB連接的相機讀取文件

我正在使用Sony Handycam HDR-CX160。我想寫一個小型的c#windowsform應用程序,從設備複製視頻文件。

那麼我的應用程序如何從通過USB連接的設備上覆制文件?它不會顯示爲驅動器,但會顯示在Windows資源管理器中。當我在C#中搜索驅動器時,它不在列表中?

謝謝!

======== UPDATE =======

我會嘗試問這個問題的不同方式,希望它會被重新打開。

使用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?還有另一種方法可以一起做到這一點嗎?

+3

這個問題太廣泛了。一旦你被困在你的項目的某個特定方面,最好回來。 – 2012-08-04 22:17:30

+3

不確定爲什麼有投票結束?這是一個真正的C#問題我也找不到答案。我只需要一種編程方式來連接設備,以便我可以從中複製文件。 – 2012-08-04 22:24:16

+1

這是關於USB驅動器,但也許你會發現一些有用的東西http://www.codeproject.com/Articles/18062/Detecting-USB-Drive-Removal-in-aC-Program – Archibald 2012-08-04 22:24:26

回答

4

我不知道關於您設備的具體情況,最好的辦法可能是使用設備附帶的軟件。

但是,如果數碼相機不顯示自己作爲驅動器,您可以從中讀取文件,可能支持Windows Image Acquisition。使用C#的最簡單方法是使用Windows Image Acquisition Automation Layer。 Scott Hanselman在第9頻道有一個陳舊的Coding4Fun文章Look at me! Windows Image Acquisition

如果您能夠從相機中取出閃存卡,也可以嘗試使用讀卡器讀取該卡以直接訪問這些文件。

此外,如果您想在連接相機時運行應用程序,則需要register an AutoPlay event handler。有相機連接時的事件。

+0

我仍在研究,但WIA讓我走上了一條我希望能找到答案的道路。謝謝! – 2012-08-08 17:22:28

相關問題