在同一个盘符下面剪切文件,怎么会没有移动文件进度条呢?
例如我把e:\msdn
剪切到到  e:\example\msdn
没有任何文件操作的提示,而文件已经被移走?
用的是什么样的方法呢?

解决方案 »

  1.   

    copyfile都没有进度条
    SHFileOperation会出现进度条的
      

  2.   

    这样的移动是没有对文件进行 copy, paste 操作的, 它就相当于修改目录名称 .
      

  3.   

    如果要我们自己设计一种移动的方式,
    而不用系统的“修改目录名称 ”的方式。
    我想可能有以下思路:
      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. 
     
         
         
      

  4.   

    自己跟一贴:从网上找的!!使用Visual C++编程,有如下方法进行文件操作:
    (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()
      

  5.   

    1.如何拷贝一个文件夹内的所有文件到另一个地方
    http://community.csdn.net/Expert/topic/2863/2863759.xml?temp=.4673578
     可以在MyFileBrowser(CString strSource)将搜索到的文件计数及文件名等写入ini文件
      可以作文件备份!