有一个文件,比如123.mp3,这个文件正在用MediaPlayer播放。我想用TFileStream打开它,并对它进行写操作,结果报错无法打开文件,说它正在使用。怎样才能做到不管这个文件有没在使用,都可以用TFileStream打开这个文件并写?或者说怎样判断这个文件有没在用,如果在用,又怎样把它解开锁定并打开它写?

解决方案 »

  1.   

    可能不行吧,你那样的话windows系统允许吗?
      

  2.   

    绝对可行,我试过用WINDOWS2000自带的FTP,上传一个同样叫123.mp3的文件,内容不同,然后windows mediaplayer在播放这个文件的。结果一样能上传上去。
      

  3.   

    to: hellolongbin(一个人[终不似 少年游]) 
    首先恭喜你做上版主,
    怎么做了版主还是一个星呀,我还以为要升为三个星呢!
    是不是这样呀!
      

  4.   

    只读打开就行了.
    FileOpen(strFileName, fmOpenRead or fmShareDenyNone);
      

  5.   

    对,只读方式是可以打开,但这种方式下,文件是不能进行写操作的!
    所以“做到不管这个文件有没在使用,都可以用TFileStream打开这个文件并写”是不可能的
      

  6.   

    看到过一篇<打开一个文件时如何把它删除>的文章,或许对你有用,你搜搜吧,如果搜不到的话找我来要,
      

  7.   

    多谢各位的指点。
    TO: hellolongbin(一个人[终不似 少年游])  
    你说:上传 跟你对它进行写操作,性质是不一样的。
    我不知道你有没用过INDY的FTP控件。事实上FTP的实现就是一堆文件操作,它例程里面就是用TFileStream来进行对文件的读写。我认为上传同样离不开对文件的读写。
      

  8.   

    TO : lianshaohua(永远深爱一个叫“...... ”的好女孩儿!) 
    真的找不到<打开一个文件时如何把它删除>的文章,还得你帮忙!
      

  9.   

    多谢各位的指点。
    TO: hellolongbin(一个人[终不似 少年游])  
    你说:上传 跟你对它进行写操作,性质是不一样的。
    我不知道你有没用过INDY的FTP控件。事实上FTP的实现就是一堆文件操作,它例程里面就是用TFileStream来进行对文件的读写。我认为上传同样离不开对文件的读写。
    ---------------------------------------------
    读和写也是不一样的!