随笔 - 505  文章 - 1032  trackbacks - 0
<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910


子曾经曰过:编程无他,唯手熟尔!

常用链接

留言簿(92)

随笔分类(649)

随笔档案(505)

相册

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

积分与排名

  • 积分 - 752821
  • 排名 - 14

最新随笔

最新评论

阅读排行榜

评论排行榜

写个小工具,不想使用其他界面库,直接使用windows api,那就得找了!

浏览文件夹对话框,演示SHBrowseForFolder用法

http://www.cppblog.com/gohan/archive/2008/04/24/47993.aspx 
/********************************************************************
  created:  2008/04/24
  created:  24:4:2008   12:47
  author:    Gohan 
                http://feed.feedsky.com/gohan
  purpose:  演示SHBrowseForFolder用法
*********************************************************************/
#include <Windows.h>
#include <ShlObj.h>
int main()
{
    
BROWSEINFO bi;
    
ZeroMemory(&bi,sizeof(BROWSEINFO));
    
LPMALLOC pMalloc;
    
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
    
TCHAR * path = new TCHAR[MAX_PATH];
    
if(pidl != NULL)
    {
        
SHGetPathFromIDList(pidl,path);
        
MessageBox(NULL,path,TEXT("Choose"),MB_OK);
        
if(SUCCEEDED(SHGetMalloc(&pMalloc)))//pidl指向的对象用完应该释放,之前忽略了
        {
            
pMalloc->Free(pidl);
            
pMalloc->Release();
        }
    }
    
else
    {
        
MessageBox(NULL,TEXT("选择为空"),TEXT("Choose"),MB_OK);
    }
    
delete path;//谢谢true的提醒,以后我一定会更加慎重
}

//===========================================================================

SHBrowseForFolder function
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762115(v=vs.85).aspx




posted on 2012-03-08 14:23 七星重剑 阅读(1635) 评论(0)  编辑 收藏 引用 所属分类: IDE -- visual c++

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理