c++中知道打开的文件夹的名称,如何得到文件夹全路径? 30
例如:当前打开有a和b两个文件夹,关闭进程explorer后,两个文件夹自然也关闭了,重新激活explorer后,准备软件打开a和b这两个文件夹(不是手动打开),所以必须...
例如:当前打开有a和b两个文件夹,关闭进程explorer后,两个文件夹自然也关闭了,重新激活explorer后,准备软件打开a和b这两个文件夹(不是手动打开),所以必须要得到a和b的全路径,俺伤透脑筋只想到读内存解析出a和b的全路径,但效率太低,请指点个好方法,先拜谢了!
注:路径搜索也是效率低,而且遇到同名不同路径的文件夹时怎么办?
(俺有点穷,供分10)
补充:好多函数得到的都是当前运行的主程的全路径,而非已经最小化到任务栏中的那些已打开的文件夹的全路径。 如:可以得到任务栏中显示的已打开文件夹的窗口句柄、标题、类名等,通过文件夹窗口句柄得到的也只是同其标题一样的文件夹名,而非其全路径。
结语:虽然问题未解决,但还是要感谢两位的提示帮助!
又搜了N多次,得到了一种较好的解决思路:获得已打开文件夹窗口句柄,得到其子目录窗口句柄,读取其子目录窗口地址栏值,解析此值,得到目标文件夹的全路径。(还没有具体的实现代码) 展开
注:路径搜索也是效率低,而且遇到同名不同路径的文件夹时怎么办?
(俺有点穷,供分10)
补充:好多函数得到的都是当前运行的主程的全路径,而非已经最小化到任务栏中的那些已打开的文件夹的全路径。 如:可以得到任务栏中显示的已打开文件夹的窗口句柄、标题、类名等,通过文件夹窗口句柄得到的也只是同其标题一样的文件夹名,而非其全路径。
结语:虽然问题未解决,但还是要感谢两位的提示帮助!
又搜了N多次,得到了一种较好的解决思路:获得已打开文件夹窗口句柄,得到其子目录窗口句柄,读取其子目录窗口地址栏值,解析此值,得到目标文件夹的全路径。(还没有具体的实现代码) 展开
2个回答
展开全部
首先要include这个
#include <direct.h>
然后
char *curDir;
curDir = (char *)malloc(300 * sizeof(char));//300是我自己定的
if (curDir == NULL)
{
printf("Can not malloc curDir !\n");
getch();
exit(0);
}
curDir = _getcwd(curDir, 300);
这样返回的curDir 就是全路径
#include <direct.h>
然后
char *curDir;
curDir = (char *)malloc(300 * sizeof(char));//300是我自己定的
if (curDir == NULL)
{
printf("Can not malloc curDir !\n");
getch();
exit(0);
}
curDir = _getcwd(curDir, 300);
这样返回的curDir 就是全路径
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询