使用Shell32讀取影音檔案屬性

2021-09-22 08:51:32 字數 752 閱讀 4827

(1)

硬編碼分析影音檔案,需要分析各種**格式,代價最大;

(2)使用wmlib sdk,需要熟悉sdk各個介面,且不同版本的wm介面有別,代價次之;

(3)使用系統shell32的com介面,直接訪問**文體屬性,取其特定內容,代價最小。

顯然第3種方案見效最快,立即操刀:

①引用shell32底層介面c:\windows\system32\shell32.dll,vs自動轉換成interop.shell32.dll(注:64位系統和32位系統生成的interop.shell32.dll不一樣)

②///

//////

///**路徑

///

public

static

string getmediaduration(this

string

path)

catch

(exception ex)

}

③呼叫結果,在win2003上應使用

folder.getdetailsof(folderitem, 21)

,而在vista上應使用

folder.getdetailsof(folderitem, 27)

,主要是因為不同系統下檔案屬性索引順序不同造成。只要右鍵單擊檔案屬性,能看到的**屬性都能取到,可以換不同的索引值來取。如下所示,取出的時間長度是 00:03:52,目標完成。

使用Shell32讀取影音檔案屬性

路徑 public static string getmediaduration this string path catch exception ex 1 硬編碼分析影音檔案,需要分析各種 格式,代價最大 2 使用wmlib sdk,需要熟悉sdk各個介面,且不同版本的wm介面有別,代價次之 3 ...

C 通過shell32獲取檔案詳細備註資訊

1.從系統window system32資料夾中copy出 shell32.dll com元件 將shell32.dll檔案引用到專案中,並設定 嵌入互操作型別 為false 2.例項 shellclass sh new shellclass folder dir sh.namespace path...

使用shell按行讀取檔案

在shell裡面,按行讀取檔案得注意設定環境變數ifs,否則無法正確讀入。具體例子如下 oldifs ifs ifs n file home xx txt in file home in for pattern in cat do grep v e pattern done ifs oldifs要按...