<Win32 API> 获取系统文件夹路径 GetModuleFileName
来源:互联网 发布:软件系统总体设计方案 编辑:程序博客网 时间:2024/05/22 00:23
获取Windows系统文件夹,如我的文档,临时文件夹,桌面,System32文件夹,Windows目录,Program Files应用程序目录等,系统提供了相应的API。
下面是一个简单的示例:
首先需要include:
#include <Shlobj.h>
void GetSystemDir(){wchar_t buffer[MAX_PATH+1] = {0};wcout.imbue(locale("chs"));GetModuleFileName(NULL, buffer, MAX_PATH);wcout << L"当前exe路径: " << buffer << endl;GetCurrentDirectory(MAX_PATH, buffer);wcout << L"当前路径: " << buffer << endl;GetSystemDirectory(buffer, MAX_PATH);wcout << L"System: " << buffer << endl;GetTempPath(MAX_PATH, buffer);// 末尾带'\'wcout << L"Temp: " << buffer << endl;SHGetSpecialFolderPath(GetDesktopWindow(), buffer, CSIDL_LOCAL_APPDATA, FALSE);wcout << L"Local APPDATA: " << buffer << endl;SHGetSpecialFolderPath(GetDesktopWindow(), buffer, CSIDL_DESKTOP, FALSE);// 桌面文件夹wcout << L"桌面: " << buffer << endl;SHGetSpecialFolderPath(GetDesktopWindow(), buffer, CSIDL_DESKTOPDIRECTORY, FALSE);wcout << L"桌面: " << buffer << endl;SHGetSpecialFolderPath(GetDesktopWindow(), buffer, CSIDL_MYDOCUMENTS/*CSIDL_PERSONAL*/, FALSE);wcout << L"我的文档: " << buffer << endl;SHGetSpecialFolderPath(GetDesktopWindow(), buffer, CSIDL_PROGRAM_FILES, FALSE);wcout << L"应用程序目录: " << buffer << endl;SHGetSpecialFolderPath(GetDesktopWindow(), buffer, CSIDL_PROGRAMS, FALSE);// 开始菜单 Prgramswcout << L"开始程序目录: " << buffer << endl;SHGetSpecialFolderPath(GetDesktopWindow(), buffer, CSIDL_WINDOWS, FALSE);wcout << L"Windows目录: " << buffer << endl;}
这是我的结果:
0 0
- <Win32 API> 获取系统文件夹路径 GetModuleFileName
- 获取路径API:GetCurrentDirectory、GetModuleFileName
- GetModuleFileName()获取程序路径
- 获取系统文件夹路径
- 获取可执行文件的路径GetModuleFileName
- bcb6 获取系统文件夹路径
- c#调用API(GetModuleFileName)获取程序路径返回乱码有关问题
- VC++ API 如何获取文件夹路径
- 用GetModuleFileName获取程序当前执行路径
- VC中使用GetModuleFileName获取应用程序路径
- VC中使用GetModuleFileName获取应用程序路径
- VC中使用GetModuleFileName获取应用程序路径
- VC中使用GetModuleFileName获取应用程序路径
- VC中使用GetModuleFileName获取应用程序路径
- GetModuleFileName获取当前进程完整路径
- 获取文件路径函数之GetModuleFileName()
- C语言调用SHGetSpecialFolderLocation 系统API 获取History文件夹路径参考
- C#中获取我的文档系统文件夹路径
- 常见通讯方式RS232 RS485 TCP/IP介绍
- maven--私服的搭建(Nexus的使用)
- QThread 使用探讨
- 堆,栈,堆栈的区别
- 最小生成树(普利姆算法、克鲁斯卡尔算法)
- <Win32 API> 获取系统文件夹路径 GetModuleFileName
- 世界原来是这样的
- structs2 学习
- gridcontrol中添加checkbox复选框
- gflags的使用
- 关于本博客
- 提高网站速度的最佳实践
- 伪分布式模式安装hadoop-2.6.0
- gridcontrol 之标题 GroupPanel设置 (标题设置,屏蔽右键)