在同一个盘符下面剪切文件,怎么会没有移动文件进度条呢?
例如我把e:\msdn
剪切到到 e:\example\msdn
没有任何文件操作的提示,而文件已经被移走?
用的是什么样的方法呢?
例如我把e:\msdn
剪切到到 e:\example\msdn
没有任何文件操作的提示,而文件已经被移走?
用的是什么样的方法呢?
解决方案 »
- 窗体输出问题 是在想不出什么好的方法 求解答
- status bar 创建一个进度条,但是没有完全盖住原来的pane提示信息。。。
- "0x1000lf4a"指令引用的"0x00000020"内存。该内存不能为"read".??
- winsock api发一个广播数据
- 谁用过MFC的CAsyncSocket?非阻塞,AsyncSelect, 一个线程里可以AsyncSelect多少个CAsyncSocket实例?
- 把Dialog做成dll的问题
- 求LPCTSTR,_bstr_t的含义。
- 如何另开一个线程进行socket监听
- 菜鸟问题80分求教----如何处理OnOpenDocument
- 如何显示视频流里获得的图片?
- 求助!!关于执行查询数据库效率的问题
- 100分紧急求助,U盘误操作,如何恢复其中的数据?
SHFileOperation会出现进度条的
而不用系统的“修改目录名称 ”的方式。
我想可能有以下思路:
1。copyfile都没有进度条
但是如果用到文件(或者文件夹)的读写操作,我想应该有一个等待时间的! 2。SHFileOperation会出现进度条的
同样对文件(或者文件夹)有读写操作,也有一个等待时间吧! 3。(在同一个盘符的情况下)只是修改目录名称。
这个没有等待时间,因为没有发生文件(或者文件夹)的读写操作。
我不知道系统用的什么方法把存储在硬盘上的实际数据与不同的文件夹关联?
猜想可能是读了一个实际数据的标志头,然后把该标志头与新的文件夹关联。
4。( 在同一个硬盘的不同盘符的情况下)用到了方法呢?
难道是DDE!!
msdn:
dde is a form of interprocess communication that uses shared memory to exchange data between applications. Applications can use DDE for one-time data transfers and for ongoing exchanges and updating of data.
(1)使用标准C运行库函数,包括fopen、fclose、fseek等。
(2)使用Win32下的文件和目录操作函数,如CreateFile,CopyFile,DeleteFile,FindNextFile,等等。
Win32下,打开和创建文件都由CreateFile完成,成功的话,得到一个Win32下的句柄,这不同于“C”的fopen返回的句柄。在Win16下,该句柄和C运行库文件操作函数相容。但在Win32下,“C”的文件操作函数不能使用该句柄,如果需要的话,可以使用函数_open_osfhandle从Win32句柄得到一个“C”文件函数可以使用的文件句柄。
关闭文件使用Win32的CloseHandle。
在Win32下,CreateFile可以操作的对象除了磁盘文件外,还包括设备文件如通讯端口、管道、控制台输入、邮件槽等等。
(3)使用CFile和其派生类进行文件操作。CFile从CObject派生,其派生类包括操作文本文件的CStdioFile,操作内存文件的CmemFile,等等。
CFile是建立在Win32的文件操作体系的基础上,它封装了部分Win32文件操作函数。最好是使用CFile类(或派生类)的对象来操作文件,必要的话,可以从这些类派生自己的文件操作类。统一使用CFile的界面可以得到好的移植性。
(4)使用shell 操作:
shell 的位置:平台SDK->INTERNET/INTRANET/EXTRNET 服务->INTERNET TOOLS&TECHNOLOG
WINDOWS SHELL API->SHELL REFERENCE->FUNCTION->SHFileOperation()
http://community.csdn.net/Expert/topic/2863/2863759.xml?temp=.4673578
可以在MyFileBrowser(CString strSource)将搜索到的文件计数及文件名等写入ini文件
可以作文件备份!