• <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 企業即時通訊

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

            武侠古典久久婷婷狼人伊人| 亚洲国产成人精品女人久久久 | 精品久久久久久无码中文野结衣 | 亚洲国产精品无码久久| 奇米影视7777久久精品| 伊人久久免费视频| 亚洲中文字幕久久精品无码喷水| 99久久久精品| 精品综合久久久久久97| 久久综合综合久久97色| 一本色道久久综合狠狠躁篇| 91视频国产91久久久| 亚洲中文字幕久久精品无码APP| 久久精品国产精品亚洲人人| 日韩精品久久久久久久电影蜜臀| 人妻无码久久精品| 日本道色综合久久影院| 伊人久久大香线蕉亚洲五月天| 久久国产香蕉一区精品| 久久精品国产免费一区| 国内精品久久久久影院日本 | 亚洲国产成人久久精品99 | 99久久人妻无码精品系列 | 久久天天躁狠狠躁夜夜不卡| 国产亚洲欧美成人久久片 | 久久夜色精品国产亚洲av| 777久久精品一区二区三区无码| 91精品国产乱码久久久久久| 精品久久久久香蕉网| 国产精品久久自在自线观看| 久久精品人人槡人妻人人玩AV| 久久精品中文无码资源站| 狠狠色丁香婷婷久久综合| 一本色道久久88综合日韩精品| 要久久爱在线免费观看| 久久国产欧美日韩精品| 亚洲女久久久噜噜噜熟女| 久久精品国产久精国产果冻传媒| 中文字幕久久亚洲一区| 狠狠综合久久综合88亚洲 | 97久久久精品综合88久久|