获得各种系统目录

来源:互联网 发布:vb.net sqlite3 编辑:程序博客网 时间:2024/04/28 02:18

只是能够创建快捷方式是不够的,我们还要将快捷方式创建到我们指定的位置当中,例如开始菜单、桌面以及IE快速启动栏,甚至启动程序组中。    
 
为了获得这些特殊目录,我们必须使用SHGetSpecialFolderLocation函数,该函数需要三个参数:
 
HWND hwndOwner, 母窗口的句柄;int nFolder, 指定的特殊目录;
 
LPITEMIDLIST *ppidl    
以下是代码示例:
 
    LPITEMIDLIST ppidl;    //定义IDLIST指针
    charlinkpath[255];   //定义字符串,保存目录名
        获得桌面路径:
 
    SHGetSpecialFolderLocation(NULL,0 ,&ppidl); 
    SHGetPathFromIDList(ppidl,linkpath);
        获得程序组路径
 
    SHGetSpecialFolderLocation(NULL,CSIDL_PROGRAMS ,&ppidl); 
    SHGetPathFromIDList(ppidl,linkpath);
        获得启动程序项路径
 
    SHGetSpecialFolderLocation(NULL,CSIDL_STARTUP  ,&ppidl); 
    SHGetPathFromIDList(ppidl,linkpath);
        获得IE快速启动栏路径
 
    SHGetSpecialFolderLocation(NULL,CSIDL_APPDATA   ,&ppidl); 
    SHGetPathFromIDList(ppidl,linkpath);
    strcat(linkpath,"/Microsoft/Internet Explorer/Quick Launch");
如果我们改变SHGetSpecialFolderLocation函数中的nFolder参数,就可以获得不同的特殊目录,更多的信息请查看MSDN帮助。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tangbo6/archive/2006/05/22/749318.aspx

原创粉丝点击