首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

急求圣人—COM实现拖拽文件夹

2013-01-23 
急!求高人—COM实现拖拽文件夹for(i 0 i nItems i++){IStream * pStream NULLULARGE_INTEGER leng

急!求高人—COM实现拖拽文件夹
for(i = 0; i < nItems; i++){
IStream * pStream = NULL;
ULARGE_INTEGER length = {1024 * 1024};

// -- HGLOBAL pMem = GlobalAlloc(GMEM_MOVEABLE, 1024 * 1024);
// -- HRESULT hr = CreateStreamOnHGlobal(pMem, TRUE, &pStream);
HRESULT  hr;
hr = CVFSStm_Create(&pStream);

if (SUCCEEDED(hr))
{
// write some binary data on the stream
BYTE buf[100];
ULONG ul;
ULARGE_INTEGER ulOut = {0};
//testDemo
pStream->Write(test_ptr[i], strlen(test_ptr[i])+1, &ul);
                                      // -- >  这里如何进行判断
// reset the stream pointer to the front
LARGE_INTEGER lSeek = {0};
hr = pStream->Seek(lSeek, STREAM_SEEK_SET, NULL);
}
}while(0);
我想知道如果我遇到文件夹的时候应该如何进行拖拽呢? 看不懂要什么需求,怎么看也看不明白楼具体要的是什么急求圣人—COM实现拖拽文件夹
如果单纯是为了拖放文件夹的话:



[解决办法]
一个是判断是否为文件夹用VCL自带的函数DirectoryExists(),然后遍历文件夹(TSearchRec,FindFirst,FindNext,FindClose等来实现,具体的网上很多这里我就不多说了)或者用shell来实现(这方面没做过,不方便多说什么急求圣人—COM实现拖拽文件夹)

热点排行