• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我住包子山

            this->blog.MoveTo("blog.baozishan.in")

            瀏覽文件夾對話框,演示SHBrowseForFolder用法

            image
            /********************************************************************
              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的提醒,以后我一定會更加慎重
            }

            posted on 2008-04-24 13:15 Gohan 閱讀(11266) 評論(16)  編輯 收藏 引用 所屬分類: C++MFC/SDK

            Feedback

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法[未登錄] 2008-04-24 18:21 true

            TCHAR * path = new TCHAR[MAX_PATH];
            delete path;  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2008-04-24 20:34 Z_song

            正好要用,感謝中。。。  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2008-04-25 21:19 wangyucao

            你也很努力啊!!呵呵  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2008-05-21 23:56 ershu

            delete [] path;

            好好學習吧  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2008-05-22 22:38 Gohan

            @ershu
            朋友,針對字符串,delete []與delete是等價的(至少在目前的VC++下)。這點我是學習過的,至于動態開的數組則必須加[]  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2008-05-30 23:16 hoodlum1980

            放在你這里,delete不加也可以,因為你的程序馬上就要退出了,這個進程中申請的內存也就會被系統給收回。但是如果你的程序還在運行,則最好自己管理號自己的內存。  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2008-05-31 19:07 Gohan

            @hoodlum1980
            對的,養成好的編程習慣,:)  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2008-06-12 10:12 tmp

            MessageBox(NULL,TEXT("),TEXT("Choose"),MB_OK);
            這里少了個引號,呵呵  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2008-06-12 13:44 Gohan

            @tmp
            呵呵,謝謝你,你很細心,我用一個叫code2html的程序把code轉成html,它有點bug,有中文字符串會丟掉引號:),已改正  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2008-06-24 13:58 ailee

            正好要用,謝了.  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2008-10-20 11:16 過客001

            很好,。可以用的,謝謝樓主的資料。
            能否在文章中做個連接
            連接到可以選定文件而不只是文件夾的代碼嗎  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2008-12-08 09:38 Naran

            受益了 謝謝了  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2009-02-10 11:00 HotSoftG

            CAutoPtr<TCHAR> path(new TCHAR[MAX_PATH]);
              回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2009-02-19 19:46 Gohan

            @HotSoftG
            自銷毀的智能指針確實更易用  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2010-10-25 08:59 YiLi

            MAX_PATH是常量, 所以這里不一定非要new
            直接TCHAR path[MAX_PATH];這樣也是沒有問題的  回復  更多評論   

            # re: 瀏覽文件夾對話框,演示SHBrowseForFolder用法 2011-01-18 09:10 企業即時通訊

            受益了,很好。  回復  更多評論   

            欧美亚洲国产精品久久蜜芽 | 精品久久久久久久国产潘金莲| 亚洲中文久久精品无码ww16| 日日狠狠久久偷偷色综合免费| 少妇被又大又粗又爽毛片久久黑人| 少妇久久久久久久久久| 97久久精品人人做人人爽| 亚洲综合伊人久久大杳蕉| 精品久久久久久久中文字幕 | 久久久高清免费视频| 精品久久久久久久无码| 女人高潮久久久叫人喷水| 99久久国产热无码精品免费久久久久| 久久亚洲国产最新网站| 久久99精品久久久久久秒播 | 久久久国产99久久国产一| 亚洲天堂久久精品| 999久久久无码国产精品| 亚洲国产精品综合久久网络 | 久久久久久久亚洲Av无码| 欧美亚洲国产精品久久久久| 91精品国产91久久久久久蜜臀 | 99精品久久精品一区二区| 久久人人爽人人爽人人片AV高清| 大蕉久久伊人中文字幕| AV色综合久久天堂AV色综合在| 亚洲精品美女久久777777| 中文字幕无码精品亚洲资源网久久| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲一区精品伊人久久伊人| 久久99精品免费一区二区| 久久九九全国免费| 草草久久久无码国产专区| 国内精品久久久久久久涩爱| 久久精品成人欧美大片| 欧美一级久久久久久久大| 久久婷婷色香五月综合激情| 狠狠色噜噜色狠狠狠综合久久| 欧美亚洲国产精品久久| 亚洲中文字幕无码久久精品1| 无码国内精品久久人妻蜜桃|