Chromium base库获取系统路径PathService类使用c++

1、base\path_service.h

class BASE_EXPORT PathService {
 public:
  // Populates |path| with a special directory or file. Returns true on success,
  // in which case |path| is guaranteed to have a non-empty value. On failure,
  // |path| will not be changed.
  static bool Get(int key, FilePath* path);
..........................
};

2、以获取windows下特定路径为例
    base\base_paths_win.h

namespace base {

enum {
  PATH_WIN_START = 100,

  DIR_WINDOWS,  // Windows directory, usually "c:\windows"
  DIR_SYSTEM,   // Usually c:\windows\system32"
  //                         32-bit     32-bit on 64-bit   64-bit on 64-bit
  // DIR_PROGRAM_FILES         1               2                  1
  // DIR_PROGRAM_FILESX86      1               2                  2
  // DIR_PROGRAM_FILES6432     1               1                  1
  // 1 - C:\Program Files   2 - C:\Program Files (x86)
  DIR_PROGRAM_FILES,      // See table above.
  DIR_PROGRAM_FILESX86,   // See table above.
  DIR_PROGRAM_FILES6432,  // See table above.

  DIR_IE_INTERNET_CACHE,       // Temporary Internet Files directory.
  DIR_COMMON_START_MENU,       // Usually "C:\ProgramData\Microsoft\Windows\
                               // Start Menu\Programs"
  DIR_START_MENU,              // Usually "C:\Users\<user>\AppData\Roaming\
                               // Microsoft\Windows\Start Menu\Programs"
  DIR_COMMON_STARTUP,          // Usually "C:\ProgramData\Microsoft\Windows\
                               // Start Menu\Programs\Startup"
  DIR_USER_STARTUP,            // Usually "C:\Users\<user>\AppData\Roaming\
                               // Microsoft\Windows\Start Menu\Programs\Startup"
  DIR_ROAMING_APP_DATA,        // Roaming Application Data directory under the
                               // user profile.
                               // Usually "C:\Users\<user>\AppData\Roaming".
                               // Data for specific applications is stored in
                               // subdirectories.
  DIR_LOCAL_APP_DATA,          // Local Application Data directory under the
                               // user profile.
                               // Usually "C:\Users\<user>\AppData\Local".
                               // Data for specific applications is stored in
                               // subdirectories.
  DIR_COMMON_APP_DATA,         // Usually "C:\ProgramData". Data for specific
                               // applications is stored in subdirectories.
  DIR_APP_SHORTCUTS,           // Where tiles on the start screen are stored,
                               // only for Windows 8. Maps to "Local\AppData\
                               // Microsoft\Windows\Application Shortcuts\".
  DIR_COMMON_DESKTOP,          // Directory for the common desktop (visible
                               // on all user's Desktop).
  DIR_USER_QUICK_LAUNCH,       // Directory for the quick launch shortcuts.
  DIR_TASKBAR_PINS,            // Directory for the shortcuts pinned to taskbar.
  DIR_IMPLICIT_APP_SHORTCUTS,  // The implicit user pinned shortcut directory.
  DIR_WINDOWS_FONTS,           // Usually C:\Windows\Fonts.

  PATH_WIN_END
};

}  // namespace base


3、例子

  base::FilePath system;
  base::PathService::Get(base::DIR_SYSTEM, &system);

获取其他路径同理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值