无法使用File.Delete()_删除要在Win 7上处理的锁定文件

我有一个C#Winforms应用程序,其中删除了axWindowsMediaPlayer控件正在查看的视频文件,该文件使DestFile文件在播放视频时保持打开状态。在Win 10中,我可以删除DestFile,然后使用

将其替换为具有修改后的元数据的文件副本。
File.Delete(DestFile) 

命令后跟

File.Move(SourceFile,DestFile) . 

在Win 7(64位)中

File.Delete 

静默失败,然后

File.Move 

失败并显示消息

Cannot create a file which alreday exists.

有没有一种方法可以使Win的行为类似于Win 10,并允许删除进程打开的文件(如OpenedFiles实用程序所示)?

wangxd624565586 回答:无法使用File.Delete()_删除要在Win 7上处理的锁定文件

发现关闭axWindowsMediaPlayer,执行Delete和Move并重新打开axWindowsMediaPlayer(如下所示)在Win 7上可以工作

 axWindowsMediaPlayer1.currentPlaylist.clear();
 axWindowsMediaPlayer1.URL = null;

 System.IO.File.Delete(sFileAction);
 System.IO.File.Move(sDestFile,sFileAction);

 axWindowsMediaPlayer1.currentPlaylist = axWindowsMediaPlayer1.newPlaylist("aa","");
 axWindowsMediaPlayer1.currentPlaylist.clear();
 axWindowsMediaPlayer1.currentPlaylist.appendItem(axWindowsMediaPlayer1.newMedia(sFileAction));
 axWindowsMediaPlayer1.Ctlcontrols.play();`
本文链接:https://www.f2er.com/3168271.html

大家都在问