获取Windows系统特殊性目录路径

获取Windows系统特殊性目录路径

uses ShlObj

获取方法:

function GetPath(FID: Integer): string;
var
  pidl: PItemIDList;
  path: array[0..MAX_PATH] of Char;
begin
  SHGetSpecialFolderLocation(0, FID, pidl);
  SHGetPathFromIDList(pidl, path);
  Result := path;
end;

参数可以为下面这些:

1    CSIDL_DESKTOP                 , { = $0000 }
2    CSIDL_INTERNET                , { = $0001 }
3    CSIDL_PROGRAMS                , { = $0002 }
4    CSIDL_CONTROLS                , { = $0003 }
5    CSIDL_PRINTERS                , { = $0004 }
6    CSIDL_PERSONAL                , { = $0005 }
7    CSIDL_FAVORITES               , { = $0006 }
8    CSIDL_STARTUP                 , { = $0007 }
9    CSIDL_RECENT                  , { = $0008 }
10   CSIDL_SENDTO                  , { = $0009 }
11   CSIDL_BITBUCKET               , { = $000a }
12   CSIDL_STARTMENU               , { = $000b }
13   CSIDL_MYDOCUMENTS             , { = $000c }
14    CSIDL_MYMUSIC                 , { = $000d }
15    CSIDL_MYVIDEO                 , { = $000e }
16    CSIDL_DESKTOPDIRECTORY        , { = $0010 }
17    CSIDL_DRIVES                  , { = $0011 }
18    CSIDL_NETWORK                 , { = $0012 }
19    CSIDL_NETHOOD                 , { = $0013 }
20    CSIDL_FONTS                   , { = $0014 }
21    CSIDL_TEMPLATES               , { = $0015 }
22    CSIDL_COMMON_STARTMENU        , { = $0016 }
23    CSIDL_COMMON_PROGRAMS         , { = $0017 }
24    CSIDL_COMMON_STARTUP          , { = $0018 }
25    CSIDL_COMMON_DESKTOPDIRECTORY , { = $0019 }
26    CSIDL_APPDATA                 , { = $001a }
27    CSIDL_PRINTHOOD               , { = $001b }
28    CSIDL_LOCAL_APPDATA           , { = $001c }
29    CSIDL_ALTSTARTUP              , { = $001d }
30    CSIDL_COMMON_ALTSTARTUP       , { = $001e }
31    CSIDL_COMMON_FAVORITES        , { = $001f }
32    CSIDL_INTERNET_CACHE          , { = $0020 }
33    CSIDL_COOKIES                 , { = $0021 }
34    CSIDL_HISTORY                 , { = $0022 }
35    CSIDL_COMMON_APPDATA          , { = $0023 }
36    CSIDL_WINDOWS                 , { = $0024 }
37    CSIDL_SYSTEM                  , { = $0025 }
38    CSIDL_PROGRAM_FILES           , { = $0026 }
39    CSIDL_MYPICTURES              , { = $0027 }
40    CSIDL_PROFILE                 , { = $0028 }
41    CSIDL_SYSTEMX86               , { = $0029 }
42    CSIDL_PROGRAM_FILESX86        , { = $002a }
43    CSIDL_PROGRAM_FILES_COMMON    , { = $002b }
44    CSIDL_PROGRAM_FILES_COMMONX86 , { = $002c }
45    CSIDL_COMMON_TEMPLATES        , { = $002d }
46    CSIDL_COMMON_DOCUMENTS        , { = $002e }
47    CSIDL_COMMON_ADMINTOOLS       , { = $002f }
48    CSIDL_ADMINTOOLS              , { = $0030 }
49    CSIDL_CONNECTIONS             , { = $0031 }
50    CSIDL_COMMON_MUSIC            , { = $0035 }
51    CSIDL_COMMON_PICTURES         , { = $0036 }
52    CSIDL_COMMON_VIDEO            , { = $0037 }
53    CSIDL_RESOURCES               , { = $0038 }
54    CSIDL_RESOURCES_LOCALIZED     , { = $0039 }
55    CSIDL_COMMON_OEM_LINKS        , { = $003a }
56    CSIDL_CDBURN_AREA             , { = $003b }
57    CSIDL_COMPUTERSNEARME         , { = $003d }
58    CSIDL_PROFILES                  { = $003e }

对应结果(WIN7操作系统):

0: C:\Users\zhubk\Desktop
2: C:\Users\zhubk\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
5: C:\Users\zhubk\Documents
6: C:\Users\zhubk\Favorites
7: C:\Users\zhubk\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
8: C:\Users\zhubk\AppData\Roaming\Microsoft\Windows\Recent
9: C:\Users\zhubk\AppData\Roaming\Microsoft\Windows\SendTo
11: C:\Users\zhubk\AppData\Roaming\Microsoft\Windows\Start Menu
13: C:\Users\zhubk\Music
14: C:\Users\zhubk\Videos
16: C:\Users\zhubk\Desktop
19: C:\Users\zhubk\AppData\Roaming\Microsoft\Windows\Network Shortcuts
20: C:\Windows\Fonts
21: C:\Users\zhubk\AppData\Roaming\Microsoft\Windows\Templates
22: C:\ProgramData\Microsoft\Windows\Start Menu
23: C:\ProgramData\Microsoft\Windows\Start Menu\Programs
24: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
25: C:\Users\Public\Desktop
26: C:\Users\zhubk\AppData\Roaming
27: C:\Users\zhubk\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
28: C:\Users\zhubk\AppData\Local
29: C:\Users\zhubk\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
30: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
31: C:\Users\zhubk\Favorites
32: C:\Users\zhubk\AppData\Local\Microsoft\Windows\Temporary Internet Files
33: C:\Users\zhubk\AppData\Roaming\Microsoft\Windows\Cookies
34: C:\Users\zhubk\AppData\Local\Microsoft\Windows\History
35: C:\ProgramData
36: C:\Windows
37: C:\Windows\System32
38: C:\Program Files
39: C:\Users\zhubk\Pictures
40: C:\Users\zhubk
41: C:\Windows\System32
42: C:\Program Files
43: C:\Program Files\Common Files
44: C:\Program Files\Common Files
45: C:\ProgramData\Microsoft\Windows\Templates
46: C:\Users\Public\Documents
47: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools
48: C:\Users\zhubk\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools
53: C:\Users\Public\Music
54: C:\Users\Public\Pictures
55: C:\Users\Public\Videos
56: C:\Windows\Resources
59: C:\Users\zhubk\AppData\Local\Microsoft\Windows\Burn\Burn

时间: 2024-10-28 23:13:28

获取Windows系统特殊性目录路径的相关文章

IOS中获取各个文件的目录路径的方法和NSFileManager类

转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有

在Linux下挂载Windows系统共享目录

在Linux下挂载Windows系统共享目录 默认情况下,Linux服务器会装有samba-client,但是没有装samba-server.但是访问Windows系统共享,安装有samba-client就可以了. [[email protected] ~]# rpm -qa | grep samba samba-3.6.23-14.el6_6.x86_64 samba-client-3.6.23-14.el6_6.x86_64 samba-common-3.6.23-14.el6_6.x86_

通过PowerShell获取Windows系统密码Hash

当你拿到了系统控制权之后如何才能更长的时间内控制已经拿到这台机器呢?作为白帽子,已经在对手防线上撕开一个口子,如果你需要进一步扩大战果,你首先需要做的就是潜伏下来,收集更多的信息便于你判断,便于有更大的收获.用什么方法才能有尽可能高的权限,同时能更有效的隐藏自己,是留webshell,留后门,种木马还是Rootkit?webshell,哪怕是一句话木马都很容易被管理员清除,放了木马,也容易被有经验的管理员查出,不管是早期自己创建进程,进程被干掉就完了,还是注入进程的木马,或者是以服务自启动的木马

IOS中获取各种文件的目录路径的方法

iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下.这个目录用于存储用户数据或其它应该定期备份的信息. 2.AppName.app 目录:这是应用程序的程序包目录,

SWT获取windows系统窗口颜色

很多人在使用电脑时都会将系统窗口的颜色修改为护眼色(85.95.205),在设计软件的界面背景时就需要考虑到背景颜色是根据系统的窗口颜色来决定的. 在使用AWT时,可以通过java.awt.SystemColor.window来获取windows系统窗口颜色.使用SWT时,如果使用Display.getSystemColor(id)是无法获得系统窗口颜色的.不过通过Display的getSystemColor方法可以启发我们自己写一个获取系统窗口颜色的方法,以下为代码: int pixel = 

这段百度问答,对我相关有对啊!!!----如何获取Windows系统登陆用户名

如何获取Windows系统登陆用户名 http://zhidao.baidu.com/link?url=Hva9PkVwYZv8KSEWftSqTWe8fqM1dhoq59BurnfADmcOvFjFgJUONb2kQ4KrJUF5KjOTXjCf5SQKYNLhcU_dBMzGGBxFxJCRfxCmamIjUji ======================= 一般用 GetUserName(或 GetUserNameEx )函数可得到当前登陆登陆用户名(但不总会得到,下面会分析),此系统函

iOS获取应用当前Caches目录路径以及当前日期

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString *path = [[paths objectAtIndex:0] stringByAppendingString:@"/hi.dat"]; [[NSFileManager defaultManager] createFileAtPath:path contents:NULL at

[源码]一键获取windows系统登陆密码vc6版源码

[源码]一键获取windows系统登陆密码vc6版源码支持:XP/2000/2003/WIN7/2008等 此版本编译出来的程序体积较小几十KB... 而vs版则1点几M,体积整整大了2-30倍对某些奇葩环境...1点几M可能要分几十次传过去 总是在关键的时候,发现自己以前弄过的东西突然不见了然后百度好不容易找到了一份..还是发到博客来 收藏需要修改输出TXT的或免杀啥的...上自己博客找源码 #include <windows.h>#include <stdio.h> // //

C# - 获取windows系统特殊文件夹路径

一.路径分类 1.绝对路径 完整路径,从磁盘符号开始,如:C:\Windows 2.相对路径 以当前路径为起点,不包含磁盘符号,通常使用"..\"符号来访问上级目录中的文件或文件夹. ../Windows/System32 二.Windows系统常见的特殊路径 1.当前路径 2.我的文档 3.收藏夹 4.桌面 5.最近使用的文档 6.程序当前路径 三.路径获取示例 1 private void btnGetCurPath_Click(object sender, EventArgs e