共用方式為


Folder.GetDetailsOf 方法

擷取資料夾中專案的詳細資料。 例如,其大小、類型或上次修改的時間。

語法

retVal = Folder.GetDetailsOf(
  vItem,
  iColumn
)

參數

vItem

類型: Variant

要擷取資訊的專案。 這必須是 FolderItem 物件。

iColumn

類型: 整數

整數值,指定要擷取的資訊。 專案可用的資訊取決於專案顯示所在的資料夾。 這個值會對應至殼層檢視中顯示的以零起始的資料行編號。 針對檔案系統中的專案,這可以是下列其中一個值:

(0)

擷取專案的名稱。

(1)

擷取專案的大小。

(2)

擷取專案的型別。

(3)

擷取上次修改專案的日期和時間。

(4)

擷取專案的屬性。

(-1)

擷取專案的資訊提示資訊。

傳回值

類型: BSTR*

包含所擷取詳細資料的字串。

備註

注意

並非所有方法都會針對所有資料夾實作。 例如,ParseName方法不會針對主控台資料夾實作 (CSIDL_CONTROLS) 。 如果您嘗試呼叫未實作的方法,就會引發十進位 445) 錯誤0x800A01BD (。

 

範例

下列範例會使用 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 專業版、Windows XP [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Shlobj_core.h (包含 Shldisp.h)
Idl
Shldisp.idl
DLL
Shell32.dll (4.71 版或更新版本)