• <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 閱讀(11248) 評論(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 企業即時通訊

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

            亚洲伊人久久大香线蕉综合图片| 久久久久久av无码免费看大片| 国产精品九九九久久九九| 97香蕉久久夜色精品国产| 理论片午午伦夜理片久久 | 久久久久久国产精品美女| 久久午夜无码鲁丝片| 国产99久久久久久免费看| 模特私拍国产精品久久| 国内精品伊人久久久久av一坑| 国产精品永久久久久久久久久| 亚洲一区二区三区日本久久九| 亚洲国产成人久久综合碰| 91精品国产高清久久久久久io| 99国产欧美精品久久久蜜芽| 99久久精品国产综合一区| 国内精品久久久久影院亚洲| 久久人人爽人人爽人人AV东京热| 国产成人精品久久一区二区三区av | 久久人妻AV中文字幕| 午夜欧美精品久久久久久久| 国产精自产拍久久久久久蜜| 欧美久久综合九色综合| 国产精品伊人久久伊人电影| 久久婷婷色综合一区二区| 午夜久久久久久禁播电影| 久久本道久久综合伊人| 热99re久久国超精品首页| 国产91色综合久久免费| 久久久综合香蕉尹人综合网| 久久无码人妻一区二区三区午夜| 久久国产综合精品五月天| 97久久超碰成人精品网站| 久久国产色av免费看| 亚洲国产婷婷香蕉久久久久久| 国产精品久久久久9999高清| 久久亚洲精品国产亚洲老地址| 99久久免费国产精品| 国产精品久久久久影视不卡| 久久超碰97人人做人人爱| 久久亚洲精品无码aⅴ大香|