1. 程式人生 > >使用getdetailsof 介面獲取檔案屬性

使用getdetailsof 介面獲取檔案屬性

string strValue = ptrFolder->GetDetailsOf( _variant_t((IDispatch *)ptrItem), i);

這句是關鍵  IDispatch用法

#include <iostream>
#include <string>
#import <Shell32.dll>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
                CoInitialize(NULL);

	Shell32::IShellDispatchPtr ptrShell; 
	ptrShell.CreateInstance(__uuidof(Shell32::Shell)); 
	_variant_t var((short
)Shell32::ssfRECENT); Shell32::FolderPtr ptrFolder = ptrShell->NameSpace("C://"); Shell32::FolderItemPtr ptrItem = ptrFolder->ParseName("output.mp4"); for( int i = 0; i < 10; i++ ) { string strName = ptrFolder->GetDetailsOf(0, i); cout << i <<strName << ":"; //string strValue = ptrFolder->GetDetailsOf(ptrItem, i);
string strValue = ptrFolder->GetDetailsOf( _variant_t((IDispatch *)ptrItem), i); cout << strValue << endl; }
	ptrItem.Release();
	ptrFolder.Release();
	ptrShell.Release(); 
	CoUninitialize(); 
return 0; }