Поделиться через


Метод Folder.GetDetailsOf

Извлекает сведения об элементе в папке. Например, его размер, тип или время последнего изменения.

Синтаксис

retVal = Folder.GetDetailsOf(
  vItem,
  iColumn
)

Параметры

vItem

Тип: Variant

Элемент, для которого требуется извлечь сведения. Это должен быть объект FolderItem .

iColumn

Тип: Целое число

Целочисленное значение, указывающее извлекаемые сведения. Сведения, доступные для элемента, зависят от папки, в которой он отображается. Это значение соответствует отсчитываемому от нуля номеру столбца, отображаемому в представлении оболочки. Для элемента в файловой системе это может быть одно из следующих значений:

(0)

Извлекает имя элемента.

(1)

Извлекает размер элемента.

(2)

Извлекает тип элемента.

(3)

Извлекает дату и время последнего изменения элемента.

(4)

Извлекает атрибуты элемента.

(-1)

Извлекает сведения о подсказке для элемента.

Возвращаемое значение

Тип: BSTR*

Строка, содержащая полученные сведения.

Комментарии

Примечание

Не все методы реализуются для всех папок. Например, метод ParseName не реализован для папки панель управления (CSIDL_CONTROLS). При попытке вызвать нереализованный метод возникает ошибка 0x800A01BD (десятичное число 445).

 

Примеры

В следующем примере getDetailsOf используется для получения типа файла с именем Clock.avi. Для JScript, VBScript и Visual Basic отображается правильное использование.

Jscript:

<script language="JScript">
    function fnGetDetailsOfJ()
    {
        var objShell = new ActiveXObject("shell.application");
        var objFolder = new Object;
        
        objFolder = objShell.NameSpace("C:\\WINDOWS");
        if (objFolder != null)
        {
            var objFolderItem = new Object;

            objFolderItem = objFolder.ParseName("clock.avi");
            if (objFolderItem != null)
            {
                var objInfo = new Object;

                objInfo = objFolder.GetDetailsOf(objFolderItem, 2);
            }
        }
    }
</script>

Vbscript:

<script language="VBScript">
    function fnGetDetailsOfVB()
        dim objShell
        dim objFolder
        
        set objShell = CreateObject("shell.application")
        set objFolder = objShell.NameSpace("C:\WINDOWS")

        if (not objFolder is nothing) then
            dim objFolderItem

            set objFolderItem = objFolder.ParseName("clock.avi")

            if (not objFolderItem Is Nothing) then
                dim objInfo
                        
                objInfo = objFolder.GetDetailsOf(objFolderItem, 2)
            end if
            
            set objFolderItem = nothing
        end if
        
        set objFolder = nothing
        set objShell = nothing
    end function
</script>

Visual Basic:

Private Sub btnGetDetailsOf_Click()
    Dim objShell  As Shell
    Dim objFolder As Folder

    Set objShell = New Shell
    Set objFolder = objShell.NameSpace("C:\WINDOWS")
    
    If (Not objFolder Is Nothing) Then
        Dim objFolderItem As FolderItem
        Set objFolderItem = objFolder.ParseName("clock.avi")
   
        If (Not objFolderItem Is Nothing) Then
            Dim szItem As String
            szItem = objFolder.GetDetailsOf(objFolderItem, 2)
        End If
        
        Set objFolderItem = Nothing
    End If
    
    Set objFolder = Nothing
    Set objShell = Nothing
End Sub

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Shlobj_core.h (включая Shldisp.h)
IDL
Shldisp.idl
DLL
Shell32.dll (версия 4.71 или более поздняя)