读书人

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

发布时间: 2013-01-23 10:44:49 作者: rapoo

急!求高人—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实现拖拽文件夹)

读书人网 >C++ Builder

热点推荐