使用getdetailsof 接口获取文件属性

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

这句是关键  IDispatch用法

 

 

#include
#include
#import

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 <":"; 
		//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; }

你可能感兴趣的:(小应用)