你的MAX_CLASS_FILE ==12吗?
解决方案 »
- ODBC对ACCESS执行SELECT INTO碰到“不能更新,数据库或对象为只读”
- ActiveX 如何建立多线程??
- CRLF在UTF8编码的文本编辑器里不起作用?
- vc++ 6 为什么不能在 windows 2000 sp4 上安装成功
- 一个令我很郁闷的问题,
- 多个表插入新记录的问题
- 用ATL写了一个com组件,在客户端怎么调用它呢?
- 二个基础问题
- 请问检测操作系统类型的API是那个
- 已知三角形三点坐标,怎样画此三角形,且里面用刷子填冲颜色?
- CSplitter类分割问题,如何使分割后拖不动,即保持尺寸???
- 诸位大侠,我要制作一个像installshield一样的给应用程序打包的软件。,都需要对那些东西进行注册?我所知道的有:控件,驱动,dll。可是
ccnuxjg(暗黑执政官)说的有道理,你的MAX_CLASS_FILE是等于12吗?
注意你这小段代码:
if(MAX_CLASS_FILE<=nFileNameListIndex)
break;
循环结束条件应该是:
if(0==pos) break;
这是我自己设的,与Windows无关
另外你要自己提供足够的缓冲区来接受返回的多个文件,这通过用自己申请内存的指针来替换m_ofn.lpstrfile.
dlg.m_ofn.nMaxFile = 100 * MAX_PATH;
dlg.m_ofn.lpstrFile = new TCHAR[dlg.m_ofn.nMaxFile];
ZeroMemory(dlg.m_ofn.lpstrFile, sizeof(TCHAR) * dlg.m_ofn.nMaxFile);