如何取得"Windows"中的标准"文件夹选择框"就像是FlashGet中以及在FTP中的"文件复制为"菜单项调出的文件夹选择框那样.有桌面,我的电脑,网上邻居等。

解决方案 »

  1.   

    下面是一个例子: 
        uses ShellAPI, ShlObj; 
         
        procedure TForm1.Button1Click(Sender: TObject); 
        var 
         TitleName : string; 
         lpItemID : PItemIDList; 
         BrowseInfo : TBrowseInfo; 
         DisplayName : array[0..MAX_PATH] of char; 
         TempPath : array[0..MAX_PATH] of char; 
        begin 
         FillChar(BrowseInfo, sizeof(TBrowseInfo), #0); 
         BrowseInfo.hwndOwner := Form1.Handle; 
         BrowseInfo.pszDisplayName := @DisplayName; 
         TitleName := 'Please specify a directory'; 
         BrowseInfo.lpszTitle := PChar(TitleName); 
         BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS; 
         lpItemID := SHBrowseForFolder(BrowseInfo); 
         if lpItemId <> nil then begin 
         SHGetPathFromIDList(lpItemID, TempPath); 
         ShowMessage(TempPath); 
         GlobalFreePtr(lpItemID); 
         end; 
        end;