用SHGetFolderPath()TCHAR szPath[MAX_PATH]
...
if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PERSONAL|CSIDL_FLAG_CREATE, NULL, O, szPath))
{
PathAppend(szPath, TEXT("New Doc.txt"));
HANDLE hFile = CreateFile(szPath, ...);
}
...
if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PERSONAL|CSIDL_FLAG_CREATE, NULL, O, szPath))
{
PathAppend(szPath, TEXT("New Doc.txt"));
HANDLE hFile = CreateFile(szPath, ...);
}
解决方案 »
- 为什么用extern定义一个全局变量,居然出现编译错误
- 利用exe文件资源问题
- 如何在BMP加载前在BMP上增加几个点?急,谢谢谢谢
- ATL中使用MFC的链接错误
- 基于scrollbar在view上面画图的时候, 怎么保留一个头部??????????????
- 请教bmp的一个显示问题
- VC中,怎样打包生成可执行文件,具体点好吗?
- SDK还是MFC?
- 关于数据集操作的问题停止数据库后while( !m_pUaesRdSet->IsEOF() )不退出循环
- MFC写的MSCOMM控件问题
- 有谁知道 WINDOWS SERVER 2000的序列号?在线等待!!!!!!!!
- 怎么样得到ListBox中的值?
TCHAR szPath[MAX_PATH]
...
if(SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PERSONAL|CSIDL_FLAG_CREATE, NULL, O, szPath))
{
PathAppend(szPath, TEXT("New Doc.txt"));
HANDLE hFile = CreateFile(szPath, ...);
}具体用法可参见MSDN
Displays a dialog box that enables the user to select a Shell folder. 下面是例程:
char ini_filename[MAX_PATH] ; LPMALLOC pMalloc;
SHGetMalloc(&pMalloc);
BROWSEINFO bi;
char lpBuffer[MAX_PATH];
int i = 0;
LPITEMIDLIST pidlBrowse; // PIDL selected by user strcpy(lpBuffer, ""); // Fill in the BROWSEINFO structure.
bi.hwndOwner = m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = lpBuffer;
bi.lpszTitle = "选择目录";
bi.ulFlags = 0;
bi.lpfn = NULL;
bi.lParam = 0;
// Browse for a folder and return its PIDL.
pidlBrowse = SHBrowseForFolder(&bi);
if (pidlBrowse != NULL) {
// Show the display name, title, and file system path.
if (SHGetPathFromIDList(pidlBrowse, lpBuffer))
{
......
} // Free the PIDL returned by SHBrowseForFolder.
pMalloc->Free(pidlBrowse);