VC中,怎么打开指定的文件夹,文件夹是相对路径,如:./temp/注:ShellEcecute能打开文件夹,但要求是绝对路径
谢
谢
解决方案 »
- 用MFC仿飞鸽传书,怎么获取局域网在线用户?请大侠指导?
- opengl程序在vc中调试时正常运行,但是直接点击debug下的exe文件运行就失败
- vc程序中调用chm文件
- 抓图程序的鼠标捕获问题(急!!)
- 文件映射的问题
- 急急急。。。请问在VC6下做了一个基于控制台的程序,如何把这个运行界面隐藏或不显示?
- 这里有人写过输入法程序吗?
- CX0017:Error:symbol " "has not found
- 大家来讨论一下char * str[2001]
- VC笨问题:我在对话框放了12个Radio Button,怎样将它们分成3组
- 如何用postmessage从一个视图向另一个视图发送消息
- 为什么有的时候有一小部分图没有显示出来
不是CFileDialog类型的对话框,而是类似打开“我的电脑”这样的与程序无关的窗体
CString MyGetPath()
{
CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength(1023),1024);
sPath.ReleaseBuffer();
int nPos;
nPos = sPath.ReverseFind('\\');
sPath = sPath.Left(nPos);
return sPath;
}
GetShortPathName
The GetShortPathName function retrieves the short path form of a specified input path. DWORD GetShortPathName(
LPCTSTR lpszLongPath, // null-terminated path string
LPTSTR lpszShortPath, // short form buffer
DWORD cchBuffer // size of short form buffer
);
转成8.3路径后在给他
但总转换不成功呢?
谁能给个PathCombine例子呢?
wchar_t wch[MAX_PATH];
::PathCombine(wch, _T("D:"), _T("./Temp"));
然后调用
::ShellExecute(this->GetSafeHwnd(), _T("open"), wch, NULL, NULL, SW_SHOW);
就o了注1:
ShellExecute函数中的目录或文件要用绝对路径,相对路径不行注2:
其实调用PathCombine拼出来的字符串内容是类似: D:\./Temp
对这样的格式类型,系统或ShellExecute是能自动识别的,也是合法路径。
之前还以为这样错呢,其实没有问题问题解决,谢谢各位.
./表示当前目录,../表示上层(父)目录