(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要按...