没有合适的资源?快使用搜索试试~ 我知道了~
IShellItemArray
3星 · 超过75%的资源 需积分: 10 5 下载量 148 浏览量
2011-10-20
19:04:19
上传
评论
收藏 8KB TXT 举报
温馨提示
试读
6页
IShellItemArray接口的获取
资源推荐
资源详情
资源评论
#define STRICT_TYPED_ITEMIDS
#include <windows.h>
#include <structuredquery.h>
#include <strsafe.h>
#include <shlobj.h>
#include <propkey.h>
#include <propvarutil.h>
// 显示界面设置清单挑选正确版本的Comctl32.dll
#pragma comment(linker, "/"/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'/"")
// 创建一个实例的ICondition的接口,设置搜索的条件
HRESULT GetCondition(ICondition **ppCondition)
{
*ppCondition = NULL;
// 创造条件接口。该接口可以帮助创造搜索文件夹的条件。
IConditionFactory2 *pConditionFactory;
HRESULT hr = CoCreateInstance(CLSID_ConditionFactory, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pConditionFactory));
if (SUCCEEDED(hr))
{
ICondition *pConditionKind;
hr = pConditionFactory->CreateStringLeaf(PKEY_Kind, COP_EQUAL, L"Document", NULL, CONDITION_CREATION_DEFAULT, IID_PPV_ARGS(&pConditionKind));
if (SUCCEEDED(hr))
{
ICondition *pConditionSize;
hr = pConditionFactory->CreateIntegerLeaf(PKEY_Size, COP_GREATERTHAN, 10240, CONDITION_CREATION_DEFAULT, IID_PPV_ARGS(&pConditionSize));
if (SUCCEEDED(hr))
{
// 仅当所有条件满足的时候,开始检索文件夹
#include <windows.h>
#include <structuredquery.h>
#include <strsafe.h>
#include <shlobj.h>
#include <propkey.h>
#include <propvarutil.h>
// 显示界面设置清单挑选正确版本的Comctl32.dll
#pragma comment(linker, "/"/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'/"")
// 创建一个实例的ICondition的接口,设置搜索的条件
HRESULT GetCondition(ICondition **ppCondition)
{
*ppCondition = NULL;
// 创造条件接口。该接口可以帮助创造搜索文件夹的条件。
IConditionFactory2 *pConditionFactory;
HRESULT hr = CoCreateInstance(CLSID_ConditionFactory, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pConditionFactory));
if (SUCCEEDED(hr))
{
ICondition *pConditionKind;
hr = pConditionFactory->CreateStringLeaf(PKEY_Kind, COP_EQUAL, L"Document", NULL, CONDITION_CREATION_DEFAULT, IID_PPV_ARGS(&pConditionKind));
if (SUCCEEDED(hr))
{
ICondition *pConditionSize;
hr = pConditionFactory->CreateIntegerLeaf(PKEY_Size, COP_GREATERTHAN, 10240, CONDITION_CREATION_DEFAULT, IID_PPV_ARGS(&pConditionSize));
if (SUCCEEDED(hr))
{
// 仅当所有条件满足的时候,开始检索文件夹
ICondition *rgConditions[] = {pConditionKind, pConditionSize};
hr = pConditionFactory->CreateCompoundFromArray(CT_AND_CONDITION, rgConditions, ARRAYSIZE(rgConditions), CONDITION_CREATION_DEFAULT, IID_PPV_ARGS(ppCondition));
pConditionSize->Release();
}
pConditionKind->Release();
}
pConditionFactory->Release();
}
return hr;
}
//开辟了共同文件对话框到IShellItem和等待用户选择的结果文件。
//然后显示在消息框中所选项目的名称。
HRESULT OpenCommonFileDialogTo(IShellItem *pShellItemSearch)
{
// 打开文件对话框
IFileDialog* pFileDialog;
HRESULT hr = CoCreateInstance(CLSID_FileOpenDialog, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pFileDialog));
if (SUCCEEDED(hr))
{
// S设置为我们想显示的文件夹
hr = pFileDialog->SetFolder(pShellItemSearch);
if (SUCCEEDED(hr))
{
// 显示文件对话框
hr = pFileDialog->Show(NULL);
if (SUCCEEDED(hr))
{
// 获取被选择的文件
IShellItem *pShellItemSelected;
hr = pConditionFactory->CreateCompoundFromArray(CT_AND_CONDITION, rgConditions, ARRAYSIZE(rgConditions), CONDITION_CREATION_DEFAULT, IID_PPV_ARGS(ppCondition));
pConditionSize->Release();
}
pConditionKind->Release();
}
pConditionFactory->Release();
}
return hr;
}
//开辟了共同文件对话框到IShellItem和等待用户选择的结果文件。
//然后显示在消息框中所选项目的名称。
HRESULT OpenCommonFileDialogTo(IShellItem *pShellItemSearch)
{
// 打开文件对话框
IFileDialog* pFileDialog;
HRESULT hr = CoCreateInstance(CLSID_FileOpenDialog, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pFileDialog));
if (SUCCEEDED(hr))
{
// S设置为我们想显示的文件夹
hr = pFileDialog->SetFolder(pShellItemSearch);
if (SUCCEEDED(hr))
{
// 显示文件对话框
hr = pFileDialog->Show(NULL);
if (SUCCEEDED(hr))
{
// 获取被选择的文件
IShellItem *pShellItemSelected;
剩余5页未读,继续阅读
资源评论
- tdcodingman2012-07-09一般吧。用处不大
sunchangying365
- 粉丝: 0
- 资源: 28
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功