VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 462|回复: 13

fileDlg.m_ofn.lpstrInitialDir的使用

[复制链接]
18_avatar_middle
最佳答案
0 
在线会员 发表于 2020-11-28 03:42:39 | 显示全部楼层 |阅读模式
请问为什么我在win7下使用fileDlg.m_ofn.lpstrInitialDir = _T("{20D04FE0-3AEA-1069-A2D8-08002B30309D}");//默认文件夹是我的电脑,这串代码,默认文件夹不是我的电脑?




上一篇:VS2015的诊断工具无法使用
下一篇:关于windows编程课程ReadFile的小问题
70_avatar_middle
最佳答案
47 
在线会员 发表于 2020-11-29 11:19:00 | 显示全部楼层
261540810 发表于 2020-11-28 20:19
fileDlg.m_ofn.lpstrInitialDir = _T("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");
为什么我用这串代 ...

明天去公司试试win7 ,我是win10 没问题
19_avatar_middle
最佳答案
12 
在线会员 发表于 2020-11-28 14:12:25 | 显示全部楼层
如果你要定位到文件对话框的默认打开目录!直接写路径就好了,你写机器码他识别不了.

如果你只是选择文件目录可以用MFC的目录对话框SHBrowseForFolder
18_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-11-28 16:18:08 | 显示全部楼层
本帖最后由 261540810 于 2020-11-28 16:19 编辑
236a 发表于 2020-11-28 14:12
如果你要定位到文件对话框的默认打开目录!直接写路径就好了,你写机器码他识别不了.

如果你只是选择文 ...


那请问我的电脑或者我的文档的路径,应该如何输入?
CFileDialog fileDlg(FALSE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,_T("Text Files (*.txt)|*.txt|WinRar Files (*.rar)|*.rar|Data Files (*.xlc;*xls)|*.xlc;*.xls|All Files(*.*)|*.*||"));
        //第一个参数设置为FALSE为文件另存为对话框
        fileDlg.m_ofn.lpstrInitialDir = _T("我的电脑");//设置保存时默认打开的文件夹是我的电脑
        if(fileDlg.DoModal() == IDOK)
        SetDlgItemText(IDC_PATH_EDIT,fileDlg.GetFileTitle());
这样写代码并没有默认打开我的电脑
70_avatar_middle
最佳答案
47 
在线会员 发表于 2020-11-28 19:19:42 | 显示全部楼层
设置默认我的电脑
  1. fileDlg.m_ofn.lpstrInitialDir = _T("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");
复制代码


设置我的文档或者其他特殊文件夹
  1.         char szDocument[MAX_PATH] = { 0 };
  2.         SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, 0, szDocument);
  3.         fileDlg.m_ofn.lpstrInitialDir = szDocument;
复制代码
18_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-11-28 20:19:49 | 显示全部楼层
tony666 发表于 2020-11-28 19:19
设置默认我的电脑

fileDlg.m_ofn.lpstrInitialDir = _T("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");
为什么我用这串代码无法设置默认文件夹是我的电脑,我用的是win7+vs2005
08_avatar_middle
最佳答案
9 
在线会员 发表于 2020-11-28 22:35:15 | 显示全部楼层
tony666 发表于 2020-11-28 19:19
设置默认我的电脑

老哥我算是看明白了。你是真的大神。
18_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-11-29 01:50:13 | 显示全部楼层
SummerGull 发表于 2020-11-28 22:35
老哥我算是看明白了。你是真的大神。

请问是我的代码写错了吗,还是win7不支持这个功能呢?
70_avatar_middle
最佳答案
47 
在线会员 发表于 2020-11-29 11:20:20 | 显示全部楼层
SummerGull 发表于 2020-11-28 22:35
老哥我算是看明白了。你是真的大神。

您客气了,我就菜鸡一个fileDlg.m_ofn.lpstrInitialDir的使用
70_avatar_middle
最佳答案
47 
在线会员 发表于 2020-11-30 08:51:00 | 显示全部楼层
261540810 发表于 2020-11-29 01:50
请问是我的代码写错了吗,还是win7不支持这个功能呢?

估计是你代码写错了,win7没有问题,如果还不行就贴代码吧
18_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-12-1 05:41:16 | 显示全部楼层
tony666 发表于 2020-11-30 08:51
估计是你代码写错了,win7没有问题,如果还不行就贴代码吧

void CVCTest01Dlg::OnBnClickedButton1()
{
        CFileDialogEx fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ENABLETEMPLATE,_T("Text Files (*.txt)|*.txt|WinRar Files (*.rar)|*.rar|Data Files (*.xlc;*xls)|*.xlc;*.xls|All Files(*.*)|*.*||"));
        fileDlg.m_ofn.lpstrInitialDir = _T("::{20D04FE0-3AEA-1069-A2D8-08002B30309D}");//无法打开我的电脑
        fileDlg.SetTemplate(0,IDD_DIALOG1);
        if(fileDlg.DoModal() == IDOK)
        {
                ShellExecute(m_hWnd,_T("open"),fileDlg.GetPathName(),fileDlg.m_strParam,NULL,SW_SHOW);
        }

}
70_avatar_middle
最佳答案
47 
在线会员 发表于 2020-12-1 09:07:21 | 显示全部楼层
261540810 发表于 2020-12-1 05:41
void CVCTest01Dlg::OnBnClickedButton1()
{
        CFileDialogEx fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY ...

自己实现的派生类就得你跟源码了。。我是莫得办法
18_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-12-1 16:29:04 | 显示全部楼层
tony666 发表于 2020-12-1 09:07
自己实现的派生类就得你跟源码了。。我是莫得办法

void CVCTest01Dlg::OnBnClickedButton2()//*************************************************文件保存
{
        CFileDialog fileDlg(FALSE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,_T("Text Files (*.txt)|*.txt|WinRar Files (*.rar)|*.rar|Data Files (*.xlc;*xls)|*.xlc;*.xls|All Files(*.*)|*.*||"));
        fileDlg.m_ofn.lpstrInitialDir = _T("E:\\1.学习资料");
        if(fileDlg.DoModal() == IDOK)
        {
         SetDlgItemText(IDC_EDIT1,fileDlg.GetFileTitle());
        }
}
我用其他的路径就可以正常设置,只有我的电脑、我的文档等等这类需要文件标识符的路径不能正常设置
70_avatar_middle
最佳答案
47 
在线会员 发表于 2020-12-1 19:50:21 | 显示全部楼层
261540810 发表于 2020-12-1 16:29
void CVCTest01Dlg::OnBnClickedButton2()//*************************************************文件保存 ...

那没辙了fileDlg.m_ofn.lpstrInitialDir的使用
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2021-8-4 21:29

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表