为什么没人知道
win2000的sdk哪去了

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      ppidl,ppidl2: PITEMIDLIST;
      bi: BROWSEINFO;
      ret1: Array[0..MAX_PATH - 1] of Char;
    begin
      bi.hwndOwner := Handle;
      ppidl:=nil;
      bi.pidlRoot := ppidl;
      bi.pszDisplayName := nil;
      bi.lpszTitle := 'All';
      bi.ulFlags := BIF_BROWSEINCLUDEFILES or BIF_RETURNONLYFSDIRS or BIF_STATUSTEXT;
      bi.lpfn := nil;
      ppidl2 := SHBrowseForFolder(bi);
      if ppidl2 <> nil then
      begin
        SHGetPathFromIDList(ppidl2, ret1);
        ShowMessage(ret1);
      end;
    end; 
      

  2.   

    在哪里引用了PITEMIDLIST,BROWSEINFO
    请说明
      

  3.   

    SHBrowseForFolder,不是win2000的,win9x同样有uses shellapi
      

  4.   

    一样还是说PITEMIDLIST,BROWSEINFO
    未标识
      

  5.   

     对不起用,uses shlobj;
      

  6.   

    就是Delphi的那个Selectdirectory() 函数,稍微修改一下就可以了,就是在
    bi.hwndOwner := Handle;
      ppidl:=nil;
      bi.pidlRoot := ppidl;
      bi.pszDisplayName := nil;
      bi.lpszTitle := 'All';
      bi.ulFlags := BIF_BROWSEINCLUDEFILES or BIF_RETURNONLYFSDIRS or BIF_STATUSTEXT;
      ////bi.UFlags:=....+64就可以了其实人家已经回答得很好了,什么PIDL之类的没有定义,是因为缺少shlobj,comobj,ActiveX单元,你Uses一下就可以了。自己难道不会灵活一点儿吗?回答你这样的问题,人家不吐血才怪呢!要我回答,我只告诉你必须在ulFlags中加上64这么一句话!
      

  7.   

    : Kingron(戒网中……) :64这个您在那查到的?我找了半天,也找不到。
    老兄,真强!!