使用Shell32讀取影音檔案屬性

2021-05-09 11:02:17 字數 792 閱讀 2784

///

/// **路徑

public static string getmediaduration(this string path)

catch (exception ex)

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

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

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

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

///

/// **路徑

public static string getmediaduration(this string path)

catch (exception ex)

}

複製**

③呼叫結果

在win2003上應使用folder.getdetailsof(folderitem, 21)

,而在vista上應使用folder.getdetailsof(folderitem, 27)

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

使用Shell32讀取影音檔案屬性

1 硬編碼分析影音檔案,需要分析各種 格式,代價最大 2 使用wmlib sdk,需要熟悉sdk各個介面,且不同版本的wm介面有別,代價次之 3 使用系統shell32的com介面,直接訪問 文體屬性,取其特定內容,代價最小。顯然第3種方案見效最快,立即操刀 引用shell32底層介面c windo...

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