首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi 获取特殊目录有关问题

2012-05-05 
Delphi获取特殊目录问题很久之前就注册了这个ID ,一直都没有发过帖子,新手第一次发帖。哈哈....大家多多指

Delphi 获取特殊目录问题
很久之前就注册了这个ID ,一直都没有发过帖子,新手第一次发帖。哈哈....大家多多指教。

先上源码,好分析问题。

[code=Delphi(Pascal)][/code]

procedure TForm1.Button1Click(Sender: TObject);
var
  pidl: PItemIDList;
  s : string;
begin
  SetLength(s,100);
  SHGetSpecialFolderLocation(handle,CSIDL_DRIVES,pidl);
  SHGetPathFromIDList(pidl,pchar(s));
  ShowMessage(s);
  OpenDialog1.InitialDir:= s; //用来测试目录是否正确
  OpenDialog1.Execute;
end;


用2个API函数SHGetSpecialFolderLocation(),SHGetPathFromIDList() 这个获取系统桌面、我的文档等目录没有问题,但是获取我的电脑等有的目录就得不到了,这还是真的怪了,还请大家帮忙看看。

[解决办法]
操作系统上有些是虚的文件夹,不是文件系统的一部分,所以SHGetPathFromIDList是取不到的
比如:
CSIDL_DRIVES 我的电脑
CSIDL_BITBUCKET 回收站
CSIDL_NETWORK 网上邻居

...等等

热点排行