Код
'' Получение свойств файла с помощью COM интерфейса IShellItem2 (вроде как Vista +)
'' Например, можно получить продолжительность и некоторые другие параметры аудио- и видеофайлов без их загрузки
'' -------------------------------------------------
#Include "crt.bi" ' Только для функции printf
#Include "window9.bi"
#Define UNICODE
#Include Once "disphelper/disphelper.bi"
Dim As String sPath, sDir, sFile
sPath = "C:\1.wmv" ' Полный путь до файла
sFile = GetFilePart(sPath) ' Путь до папки (с "\" на конце)
sDir = GetPathPart(sPath) ' Файл с расширением
Dim As IDispatch Ptr oShellApp, oDir, oFile
dhInitialize(TRUE)
dhToggleExceptions(TRUE)
dhCreateObject("Shell.Application", NULL, @oShellApp)
dhGetValue("%o", @oDir, oShellApp,".NameSpace(%s)", sDir)
dhGetValue("%o", @oFile, oDir,"Parsename(%s)", sFile)
Dim As ZString Ptr sProp = NULL
For i As Integer = 0 To 34
dhGetValue("%s", @sProp, oDir,".GetDetailsOf(%o, %d)", oFile, i)
If Len(*sProp)>0 Then printf(i & " " & *sProp & !"\n")
Next
dhUninitialize(TRUE)
Sleep
End