Windows Mobile 5Windows Mobile 6Windows MobileVisual Studio 6Windows VistaWindows 2003Win32Visual Studio 2008Visual Studio 2005Windows 2000Windows XP中级开发Visual StudioWindowsC++
获取有用的目录路径
一篇关于轻松找到常用用户特定目录路径的文章。
引言
我遇到了无数种情况,通常使用的实用函数根本不可用,程序员只需多次编写和重写它们。这是系列文章中的一篇,旨在提供一组常用函数以及如何使用它们的示例应用程序,希望它们能像对我一样对众多开发人员有用。
本文重点介绍的函数只需获取
- 当前工作目录和可执行文件目录。
- Program Files、Windows 和系统目录。
- 我的文档、我的音乐、我的图片和我的视频目录。
- 应用程序数据和本地应用程序数据目录。
- 桌面和启动目录。
我发现这些简单的函数在许多项目中非常有用,这些项目需要读取或保存到那些目录,其中一些是用户特定的。
可用函数
//////////////////////////////////////////////////
// Get commonly used directory paths
//////////////////////////////////////////////////
static stlString GetWorkingDirectory();
static stlString GetProgramDirectory();
static stlString GetProgramFilesDirectory();
static stlString GetWindowsDirectory();
static stlString GetSystemDirectory();
static stlString GetMyDocumentsDirectory();
static stlString GetMyMusicDirectory();
static stlString GetMyPicturesDirectory();
static stlString GetMyVideosDirectory();
static stlString GetAppDataDirectory();
static stlString GetLocalAppDataDirectory();
static stlString GetDesktopDirectory();
static stlString GetStartupDirectory();
//////////////////////////////////////////////////
背景
这些函数是几年前开发的,当时有几个项目需要读取和写入用户特定数据到这些常用文件夹。
Using the Code
按照以下简单步骤在您的项目中使用代码
- 将文件Util.h 和Util.cpp 添加到您的 Visual Studio C++ 项目(或任何其他类型的项目;我从未在 Visual Studio C++ 项目之外的任何项目中使用过该代码,因此欢迎提供在其他 C++ 项目中使用它的任何输入)。
- 在您打算使用这些函数的*.cpp 文件的顶部添加行
#include “Util.h”
。 - 只需调用所需的函数,例如,
stlString strMyDocuments = CUtil::GetMyDocumentsDirectory()
。 stlString
"strMyDocuments
" 现在将具有指定目录的文件路径。- 查看源代码中的所有按钮事件处理函数,以查看步骤 1 到 4 的实际操作。
- 检查 "Util.cpp" 源文件以了解该函数如何在内部工作,这非常容易理解。
关注点
这里提供的代码用于非托管 C++。如果您确实觉得代码有用,请留下评论,这可能会让我开心 :-)
历史
- V1.0 - 初始版本。