CFileDialog打开桌面时的问题 CFileDialog以保存对话框的方式打开,打开桌面文件夹时,窗口会在很长的时间里死掉,过一会儿,才恢复正常。不管是把桌面设成默认目录,还是从其他文件夹切换过来,都会导致这种情况。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 估计楼主的代码哪里有问题,应该不是CFileDialog的问题 说一下我曾遇到过的一个问题,楼主或许有用。有一次我OA的E盘在右键刷新后跟死了一样要好半天才能回过来,为此我把此盘上的东西备份过然后格式化然后再一个一个的把东西再放进来。后来才发现原来这有一个我系统上没有的格式的文件,所以每次刷新时它都要老半天。楼主不妨也看看。 桌面上的xml文件的图标都变成Dos程序的那种图标了,把这些文件从桌面上删掉后,再使用CFileDialog就正常了。看来是这个原因引起的。为什么会这样,请大家帮忙分析一下。 其他的程序,比方ie的打开对话框,同样的情况下就不会有这个原因。下边是调用CFileDialog的代码:CString CProfileXml::XmlInFilename(){ TCHAR fileFilter[] = _T("*.xml|*.xml|"); CString title = _T("Open Profile File"); CString defaultFolder = GetMyDesktop(); CFileDialog fileOpen(TRUE, //TRUE打开对话框,FALSE保存对话框 NULL, NULL, OFN_HIDEREADONLY| OFN_OVERWRITEPROMPT, fileFilter); fileOpen.GetOFN().lpstrInitialDir = defaultFolder; fileOpen.GetOFN().lpstrTitle = title; if (IDOK == fileOpen.DoModal()) { return fileOpen.GetPathName(); } return CString("");} 应该是这种问题,但我用ie打开某个文件时,它弹出的那个打开对话框就没这种情况。用CFileDialog打开的对话框和用IE打开的,我想应该是同一个东西吧。这就感觉有点奇怪了。 程序崩溃了 对内存消耗熟悉的进来,高手速进!!!! MFC 对话框工程中快速显示jpg图片 如何把Access转成SQL Server的方法介绍 如何获得机器真实网卡的ip地址 入门级问题,恳求帮忙 谢了 求救:为什么在win xp下安装不上vc++6.0 如何在菜单上加载位图? ActiveX如何获得当前的URL? 想学VC++从哪开始,API、MFC、VC6 在自定义的静态文本类里用OnTimer实现时间实时输出问题! dll中返回值错误,急?
有一次我OA的E盘在右键刷新后跟死了一样要好半天才能回过来,为此我把此盘上的东西备份过然后格式化然后再一个一个的把东西再放进来。后来才发现原来这有一个我系统上没有的格式的文件,所以每次刷新时它都要老半天。楼主不妨也看看。
看来是这个原因引起的。为什么会这样,请大家帮忙分析一下。
{
TCHAR fileFilter[] = _T("*.xml|*.xml|");
CString title = _T("Open Profile File");
CString defaultFolder = GetMyDesktop(); CFileDialog fileOpen(TRUE, //TRUE打开对话框,FALSE保存对话框
NULL,
NULL,
OFN_HIDEREADONLY| OFN_OVERWRITEPROMPT,
fileFilter);
fileOpen.GetOFN().lpstrInitialDir = defaultFolder;
fileOpen.GetOFN().lpstrTitle = title; if (IDOK == fileOpen.DoModal())
{
return fileOpen.GetPathName();
} return CString("");
}
应该是这种问题,但我用ie打开某个文件时,它弹出的那个打开对话框就没这种情况。用CFileDialog打开的对话框和用IE打开的,我想应该是同一个东西吧。
这就感觉有点奇怪了。