FreeBasic
Главная
Вход
Регистрация
Пятница, 29.03.2024, 16:53Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Freebasic » Исходники » Получение свойств файла с помощью COM интерфейса IShellItem2
Получение свойств файла с помощью COM интерфейса IShellItem2
WQДата: Вторник, 09.12.2014, 16:05 | Сообщение # 1
Полковник
Группа: Проверенные
Сообщений: 215
Репутация: 7
Статус: Offline
Код
'' Получение свойств файла с помощью 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


Сообщение отредактировал WQ - Вторник, 09.12.2014, 16:10
 
haavДата: Вторник, 09.12.2014, 20:02 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Хороший код, спасибо.

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
Форум » Freebasic » Исходники » Получение свойств файла с помощью COM интерфейса IShellItem2
  • Страница 1 из 1
  • 1
Поиск: