CFileDialog对象模式调用对话框运行非常缓慢

风海流 2011-01-04 01:16:00
我自己在写一个程序,叫VirtualLab,使用VS2008在Win7 64位系统上依靠C++写的,里面使用CFileDialog类创建对象,然后利用DoModal方法调用“打开\保存”对话框,但是打开这个对话框的过程非常缓慢,要半分钟的样子,每次都是,偶尔有一下子就打开的时候,输出窗口显示这个对话框加载了好多内容,如下
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\comdlg32.dll”
“VirtualLab.exe”: 已加载“C:\Program Files (x86)\Common Files\microsoft shared\ink\tiptsf.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\ExplorerFrame.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\duser.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\dui70.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\WindowsCodecs.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\EhStorShell.dll”
“VirtualLab.exe”: 已卸载“C:\Windows\SysWOW64\EhStorShell.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\EhStorShell.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\propsys.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\ntshrui.dll”
“VirtualLab.exe”: 已卸载“C:\Windows\SysWOW64\ntshrui.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\ntshrui.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\srvcli.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\cscapi.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\slc.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\xmllite.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\msftedit.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\msls31.dll”
“VirtualLab.exe”: 已卸载“C:\Windows\SysWOW64\xmllite.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\xmllite.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\cryptsp.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\rsaenh.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\RpcRtRemote.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\ntmarta.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\Wldap32.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\StructuredQuery.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\secur32.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\actxprxy.dll”
“VirtualLab.exe”: 已加载“C:\Program Files (x86)\Internet Explorer\ieproxy.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\thumbcache.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\psapi.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\SearchFolder.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\shdocvw.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\ieframe.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\oleacc.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\iertutil.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\networkexplorer.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\drprov.dll”
“VirtualLab.exe”: 已卸载“C:\Windows\SysWOW64\networkexplorer.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\winsta.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\linkinfo.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\ntlanman.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\davclnt.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\davhlpr.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\networkexplorer.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\wkscli.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\netutils.dll”
VirtualLab.exe 中的 0x759fb727 处最可能的异常: 0x000006BA: RPC 服务器不可用。
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\wpdshext.dll”
“VirtualLab.exe”: 已卸载“C:\Windows\SysWOW64\wpdshext.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\wpdshext.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\winmm.dll”
“VirtualLab.exe”: 已加载“C:\Windows\winsxs\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7600.16385_none_72fc7cbf861225ca\GdiPlus.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\PortableDeviceApi.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\wintrust.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\crypt32.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\msasn1.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\audiodev.dll”
“VirtualLab.exe”: 已卸载“C:\Windows\SysWOW64\audiodev.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\audiodev.dll”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\WMVCORE.DLL”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\WMASF.DLL”
“VirtualLab.exe”: 已加载“C:\Windows\SysWOW64\EhStorAPI.dll”
“VirtualLab.exe”: 已加载“C:\Program Files (x86)\Common Files\microsoft shared\OFFICE14\MSOXEV.DLL”
“VirtualLab.exe”: 已卸载“C:\Program Files (x86)\Common Files\microsoft shared\OFFICE14\MSOXEV.DLL”
“VirtualLab.exe”: 已加载“C:\Program Files (x86)\Common Files\microsoft shared\OFFICE14\MSOXEV.DLL”
“VirtualLab.exe”: 已加载“C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4926_none_508ed732bcbc0e5a\msvcr90.dll”

是不是打开一个这样的对话框都要加载这么多库啊?是不是由于这个原因才会消耗很多时间,怎么办?
...全文
420 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
varding 2011-01-14
  • 打赏
  • 举报
回复
代码没有问题的

有可能在默认路径上放了个网络磁盘什么的加载就慢了。你看看其他程序的打开对话框有没有问题,比如开个记事本然后选择文件菜单里的“打开”试试

TandyT 2011-01-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 huyaoyu 的回复:]
引用 1 楼 qiuxin425 的回复:
把你的代码贴出来
我的没有问题呀

是一个按钮的消息响应,那个按钮叫IDC_CONTROL_PANEL_BUTTON_LOAD

C/C++ code

void COSGMFCControlPanelView::OnBnClickedControlPanelButtonLoad()
{
CFileDialog fileDlg……
[/Quote]

看你的代码应该没问题啊是不是你机子的问题?你试过把程序拷贝到其它电脑运行下看看是否正常?如果其它电脑运行正常,那就是你电脑的问题,而不是程序的问题吧
qiuxin425 2011-01-04
  • 打赏
  • 举报
回复
代码没有问题

你看看是不是你机子的问题 或者你别的代码在运行呀
风海流 2011-01-04
  • 打赏
  • 举报
回复
我记得好像是机器自动更新了一次,然后调用这个对话框时就非常慢
风海流 2011-01-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 kusey 的回复:]
你的文件打开对话框设置的初始目录是本机上的还是远程机器上的?
[/Quote]

本机上的目录
风海流 2011-01-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qiuxin425 的回复:]
把你的代码贴出来
我的没有问题呀
[/Quote]
是一个按钮的消息响应,那个按钮叫IDC_CONTROL_PANEL_BUTTON_LOAD

void COSGMFCControlPanelView::OnBnClickedControlPanelButtonLoad()
{
CFileDialog fileDlg(TRUE,NULL,NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"XML Files (*.xml)| *.xml ||",AfxGetMainWnd());
fileDlg.m_ofn.lpstrTitle = _T("Load the CVLGroup object");

if(fileDlg.DoModal() == IDOK)
{
CString csPathName = fileDlg.GetPathName();

//其他不相关代码隐去了
}
}
kusey 2011-01-04
  • 打赏
  • 举报
回复
你的文件打开对话框设置的初始目录是本机上的还是远程机器上的?
qiuxin425 2011-01-04
  • 打赏
  • 举报
回复
把你的代码贴出来
我的没有问题呀

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧