SHFileOperation一个问题
来源:互联网 发布:淘宝职业差评师团队 编辑:程序博客网 时间:2024/06/03 16:14
使用SHFileOperation操作文件的确是很方便的,但是很可能遇到这个问题,不好解决,如下:
CString tmpStr = _T("C:\\Documents and Settings\\XPMUser\\桌面\\BAK\\34");
SHFILEOPSTRUCT lpsh;
ZeroMemory(&lpsh,sizeof(lpsh));
lpsh.hwnd= NULL;
lpsh.fFlags=FOF_NOCONFIRMATION|FOF_SIMPLEPROGRESS ;
lpsh.wFunc=FO_DELETE;
lpsh.pFrom = tmpStr.GetBuffer(tmpStr.GetLength());
SHFileOperation(&lpsh);
这是无法执行成功的,会报错:找不到磁盘文件,无法打开之类的错误。
但是,如果将tmpStr这样定义:
LPCTSTR tmpStr = _T("C:\\Documents and Settings\\XPMUser\\桌面\\BAK\\34");
则能正常执行了,我开始是不是与SHFileOperation这个外壳函数的内部实现有关系,因为CString这个对象的生存周期是有限的,则其GetBuffer必然也是有限的,但是经过验证,我把CString改为静态变量或者改为动态分配的变量,也是不行的,不知道为什么,有没有人知道呢,请给我留言!
- SHFileOperation一个问题
- SHFileOperation的一个问题(3)
- SHFileOperation的一个问题(2)
- SHFileOperation出错的问题 重命名错误 只能重命名一个文件
- SHFileOperation
- SHFileOperation
- SHFileOperation
- SHFileOperation
- SHFileOperation
- shfileoperation
- SHFileOperation
- SHFileOperation
- SHFileOperation
- SHFileOperation
- SHFileOperation
- 关于SHFileOperation引发的问题
- pb调用SHFileOperation出错的问题
- SHFileOperation 复制文件出错的问题
- MapReduce之输入输出类型
- C#制作内存修改器
- 说说WCF中的可信赖会话 ReliableSession
- How to use Thread
- TCP Trace监听工具
- SHFileOperation一个问题
- SHFileOperation的一个问题(2)
- SHFileOperation的一个问题(3)
- Oracle中删除用户遇到的问题
- java中Thread与Runnable的区别
- 游戏收费模式 - 颠覆传统收费模式
- 显示配送信息页面和保持配送信息页面
- 类指针
- stm32f407之认识硬件