获取文件详细信息的方法


#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <windows.h>

#import <Shell32.dll>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    CoInitialize(NULL);
    do
    {
       
        Shell32::IShellDispatchPtr ptrShell;
        if(ptrShell.CreateInstance(__uuidof(Shell32::Shell)) != S_OK)
            break;

        wstring loWstrFolder = L"E:\\TEST";
        //wchar_t npFilePath[] = L"E:\\1.jpg";
        //CString lstrFilePath(npFilePath);
        //lstrFilePath = lstrFilePath.Left(lstrFilePath.Find(PathFindFileName(npFilePath)));
        Shell32::FolderPtr ptrFolder = ptrShell->NameSpace(loWstrFolder.c_str());
        if(NULL == ptrFolder)
            break;

        Shell32::FolderItemPtr ptrItem = ptrFolder->ParseName(L"1.jpg");
        if(NULL == ptrItem)
            break;

        // 3表示获取的信息内容索引序号,3代表获取最后修改日期
        string lstrValue = ptrFolder->GetDetailsOf( _variant_t((IDispatch *)ptrItem), 3);


    } while (false);

    CoUninitialize();


    return 0;
}

posted on 2013-01-02 12:29  好好单调  阅读(445)  评论(0编辑  收藏  举报