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

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

            久久久久久国产精品美女| 2022年国产精品久久久久| 国产精品日韩欧美久久综合| 青青草原综合久久大伊人精品| 99久久精品免费观看国产| 久久久久99精品成人片| 久久亚洲中文字幕精品一区| 亚洲va国产va天堂va久久| 97精品国产91久久久久久| 久久99亚洲综合精品首页| 欧美久久一级内射wwwwww.| 亚洲国产另类久久久精品黑人| 国产精品99久久精品| 一级做a爰片久久毛片看看| 国产精品一区二区久久不卡| 久久99精品久久久久久hb无码| 久久国产精品一区| 99re这里只有精品热久久| 亚洲国产精品一区二区三区久久| 国产成人久久激情91| 综合久久国产九一剧情麻豆| 青青草国产精品久久| 亚洲精品国产字幕久久不卡| 亚洲精品国产自在久久| 国产成人久久AV免费| 亚洲人成网亚洲欧洲无码久久| 国产一区二区精品久久凹凸| 久久99精品久久久久久hb无码| 久久久亚洲AV波多野结衣 | 三级三级久久三级久久 | 精品国产乱码久久久久久郑州公司| 久久国产三级无码一区二区| 久久亚洲国产午夜精品理论片 | 久久亚洲精品无码观看不卡| 国产69精品久久久久99尤物| 亚洲国产二区三区久久| 成人国内精品久久久久影院| 好久久免费视频高清| 久久99精品国产99久久| 久久精品国产半推半就| 88久久精品无码一区二区毛片|