精华内容
下载资源
问答
  • WPF 如何删除已经打开的图片文件

    千次阅读 2011-12-08 12:05:33
    在WPF中,你也许会碰到这种情况,图片在界面打开,想用File.Delate()删除却无法删除。 比如: XAML: Window x:Class="WPF_Testing_Application.Window1" xmlns=...

    在WPF中,你也许会碰到这种情况,图片在界面打开,想用File.Delate()删除却无法删除。

    比如:

    XAML:

    <Window x:Class="WPF_Testing_Application.Window1"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    Title="Window1" Height="300" Width="300">

    <StackPanel Height="100" Name="stackPanel1" Width="200" />

    </Window>

    Code:

    public Window1()

    {

    InitializeComponent();

    BitmapImage bi = new BitmapImage();

    bi.BeginInit();

    bi.UriSource = new Uri(@"C:\Users\Public\Pictures\Sample Pictures\Autumn Leaves - Copy.jpg");

    bi.EndInit();

    Image image1 = new Image();

    image1.Source = bi;

    stackPanel1.Children.Add(image1);

    stackPanel1.MouseLeftButtonDown += delegate { DeleteImage(); };

    }

    private void DeleteImage()

    {

    stackPanel1.Children.RemoveAt(0);

    File.Delete(@"C:\Users\Public\Pictures\Sample Pictures\Autumn Leaves - Copy.jpg");

    }


    这样会出现文件被占用,无法删除的异常。


    解决办法:

    把代码改成:

    public Window1()

    {

    InitializeComponent();

    BitmapImage bi = new BitmapImage();

    bi.BeginInit();

    bi.CacheOption = BitmapCacheOption.OnLoad; //增加这一行

    bi.UriSource = new Uri(@"C:\Users\Public\Pictures\Sample Pictures\Autumn Leaves - Copy.jpg");

    bi.EndInit();

    Image image1 = new Image();

    image1.Source = bi;

    stackPanel1.Children.Add(image1);

    stackPanel1.MouseLeftButtonDown += delegate { DeleteImage(); };

    }

    就可以了。

    如果你用ObservableCollection<BitmapImage>作为datasouce,

                 BitmapImage bmp = new BitmapImage();

                  bmp.BeginInit();

                  bmp.UriSource = new Uri("Blue hills.jpg", UriKind.Relative);

                  bmp.CacheOption = BitmapCacheOption.OnLoad;

                  bmp.EndInit();


    用以下方式删除就可以了:

    BitmapImage img = (BitmapImage)listPictures.SelectedItem;

    File.Delete(img.UriSource.ToString());




    展开全文
  • 上次写了一篇删除Office(Word,Excel,PowerPoint)中Recent Document最近文档地址不存在的文件,注重从注册表中删除记录,后来发现有问题,online打开文件的记录在注册表中并没有找到(不知道注册表中有没有,个人...

    上次写了一篇删除Office(Word,Excel,PowerPoint)中Recent Document最近文档地址不存在的文件,注重从注册表中删除记录,后来发现有问题,online打开文件的记录在注册表中并没有找到(不知道注册表中有没有,个人没有找到,发现online打开会生成临时缓存文件,文件的名字被重新命名),现在写一个适用online和local两种情况的(online打开的文件情况比较多,这里就拿sharepoint上面打开的文件为例,如果有通用的情况,希望告知,共同进步)

    1.以word举例,使用Microsoft.Office.Interop.Word这个命名空间下的库,通过Application.RecentFiles得到最近打开文件

    RecentFiles recentFiles = this.Application.RecentFiles;
                    

    2.对得到的文件集合recentFiles遍历,对每个文件进行判断是local还是online

    foreach (RecentFile recentFile in recentFiles)
                    {
                        string onlineUrl = string.Empty;
                        try
                        {
                            string path = recentFile.Path;
                            string name = recentFile.Name;
                            bool isOnline = path.Contains("http");
                        }
                        catch (Exception ex)
                        {
                            //打log文件,自己可以直接输出就行console.writeline(ex.message)
                            logger.Error(string.Format("An error occurred while DMS {0} {1} clear online recent file:{2}.Reason: {3}", officeType, version, onlineUrl, ex.ToString()));
                        }
                    }
                }

    3.对于local的文件记录,可以直接判断存在与否

    if (!isOnline)
    {
           if (!File.Exist(path))
           {
                  recentFile.Delete();
           }
    }
    

    4.对于online(这里以sharepoint上面打开的文件为例),需要稍微更改一下文件的路径,因为通过recentFile得到的path不是我们想要的格式,例如http:\\dragonma:19004\Shared%20Document\Test1\test1.docx,需要改成我们平时用client api连接sharepoint站点用的url格式,例如http://dragonma:19004/Shared%20Document/Test1/test1.docx

    if(online)
    {
    string onlinePath = path.Substring(path.IndexOf("http"));
                                string firstTemp = onlinePath.Substring(onlinePath.IndexOf("\\") + 1);
                                int needAdd = onlinePath.Length - firstTemp.Length;
                                int secondBackslash = firstTemp.IndexOf("\\");
                                string folderUrl = firstTemp.Substring(secondBackslash + 1);
                                string webUrl = onlinePath.Substring(0, secondBackslash + needAdd);
                                string fileServerRelativeUrl = folderUrl + "\\" + name;
                                webUrl = webUrl.Replace("\\", "//");
                                fileServerRelativeUrl = "/" + fileServerRelativeUrl.Replace("\\", "/");
                                onlineUrl = webUrl + fileServerRelativeUrl;
                                OCT.SPOperation.OCTOperation OCTOperation = OCT.SPOperation.OCTOperation.GetInstance();
                                bool recentFileIsExist = OCTOperation.RecentFileIsExist(webUrl, fileServerRelativeUrl);
                                if (!recentFileIsExist)
                                {
                                    recentFile.Delete();
                                }
    
    }
    

    5.OCTOperation.RecentFileIsExist是自己写的一个函数比较简单,因为在公司里面用给进行了好几次封装,这里就不贴出来了,参照以前写的sharepoint的文章很容易写,例如SharePoint中Document Library文档库数据备份到本地里面的连接sharepoint站点和判断文件存在与否

    6#新手一枚,欢迎讨论

    展开全文
  • 如何解决删除文件时显示已经被另一程序占用打开的问题 方法一 先尝试进入该文件夹后,选择所有文件,进行删除,这个时候往往会删除掉一部分实际上没有被占用的文件夹/文件,然后剩下真正被占用的。 进入还删除...

    如何解决删除文件时显示已经被另一程序占用打开的问题

    方法一

    1. 先尝试进入该文件夹后,选择所有文件,进行删除,这个时候往往会删除掉一部分实际上没有被占用的文件夹/文件,然后剩下真正被占用的。
    2. 进入还删除不掉的文件夹,重复上述步骤。
    3. 一般最后只会剩下1~2个文件夹/文件,这些就是真正被占用的。在这里插入图片描述
    4. 右键点击桌面的Win图标,点击“任务管理器”>>点击左上角“进程”>>找到上图显示的程序>>右键点击“结束任务”,如果没有找到相应的进程,请看方法二。
    5. 回到刚刚删不掉的文件那里,再次选中删除,一般就能删除了。

    方法二

    1. 右键点击桌面的Win图标,点击“任务管理器”>>点击左上角“性能”>>点击左下角的“打开资源监视器”>>在下图所示的地方输入删除不掉的文件夹名称
      在这里插入图片描述
    2. 下方空白处会显示占用这个文件夹/文件的程序,右键点击“结束进程”,如果不能正常结束进程,请看方法三。
    3. 结束进程后回到无法删除的文件夹那里,再次进行删除就行了。

    方法三

    注:这个方法还没有试过,因为没有遇见过这样的情况,是问别人得来的。

    1. 右键点击桌面的Win图标,点击“运行”>>输入“cmd”打开命令行
    2. 输入“time /t”会返回当前的时间,假如是10:00
    3. 输入“at 10:01 /interactive taskmgr.exe”,时间写返回的时间加1分钟
    4. 在输入命令后打开的任务管理器里面结束刚刚结束不了的进程
    展开全文
  • 该文件夹在另外一个应用程序中打开,无法删除。这不是恶心人吗。现在教大家一种方法来删除这种文件夹 操作步骤 1、首先,打开我们的任务管理器 任务管理器怎么打开不用我说了吧。你可以直接在“开始”栏里面搜索,也...

    前言

    今天卸载一个应用程序,卸载完成后想将那个文件夹给删除掉,结果已删除,就报了上述了这样一个弹窗出来。该文件夹在另外一个应用程序中打开,无法删除。这不是恶心人吗。现在教大家一种方法来删除这种文件夹

    操作步骤

    1、首先,打开我们的任务管理器
    任务管理器怎么打开不用我说了吧。你可以直接在“开始”栏里面搜索,也可以在底部栏鼠标右键打开任务管理器
    在这里插入图片描述

    2、点击性能,打开资源管理监视器
    在这里插入图片描述

    3、在CPU栏处搜索文件夹的名称,找到之后鼠标右键点击结束进程即可
    在这里插入图片描述

    进程结束后,我们就可以随心所欲的删除文件夹了

    总结

    以上就是文件夹显示在另外一个程序中打开无法删除问题的解决方式

    展开全文
  • 当用户点击文件鼠标右键时,会在相应文件下弹出菜单栏ContentMenuStrip控件,显示“打开文件”和“删除文件”.点击打开文件会通过电脑默认方式打开文件,包括txt\Office\视频mp4 avi等,当删除文件,文件会删除至回收...
  • TTF 字体文件 删除不了,提示已经在System 打开
  • csv文件打开、csv文件保存和csv文件删除行信息操作。 首先展示 pckh_train.csv 文件: 接着摆出代码, 即csv文件打开、csv文件保存和csv文件删除行信息操作: import csv # 如果 pckh_train=>re...
  • android 删除文件打开指定的文件类型 public class FileUtils { /** * 删除指定文件 *  * @param fileNames */ public static void deleteFiles(String... fileNames) { if ...
  • Linux中如何优雅的删除打开文件

    千次阅读 2019-06-29 15:24:29
    linux中如果磁盘满了,...如果是正在被使用的文件,并且打开文件的程序不能被kill 如果使用rm后磁盘还是没有变化使用 lsof | gerp deleted 查看需要被删除的文件被那些进程打开 然后使用截断将文件截断,释放内存 &...
  • 关于那些不能删除的文件夹如何让一个文件夹无法删除,甚至无法打开?还有一种文件夹是可以正常打开但不能删的:还有看不见的:另一种可以正常打开不能通过资源管理器删除的:补充说明:一些有意思的现象: 如何让一...
  • 1、复制要删除文件所在的路径及文件名,路径不包含文件名称,要手动把文件名称输入进去; 2、打开“任务管理器”-“详细信息”-找到“explorer.exe”-点击“结束进程”。(此时桌面和任务栏会消失,不用紧张,...
  • Python3中打开文件的方式(With open)

    万次阅读 多人点赞 2018-08-05 19:53:16
    python文件读写文件是最常见的IO操作... 读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件...
  • 在前面讲述过使用TreeView控件和ListView...为ListView控件中显示的文件添加一个鼠标右键菜单栏"打开文件"和"删除文件",打开文件能打开具体的文件,删除文件能删除至回收站.效果图如下图所示..希望文章对大家有所帮助.
  • 说的文件夹中的文件已经在另外一个程序中打开,请关闭该文件夹,重试。其实这样我们也不知道到底哪里出现问题了,那个文件或文件夹被什么程序占用,此时都不知道。下面给出解决方法。 2、解决方法 (1)打开任务...
  • 记下文件的路径,关闭文件资源管理器。 在命令行中删除即可。
  • ttf文件无法删除,system打开

    万次阅读 2018-05-16 14:45:14
    使用ttf文件时,发现软件不支持,软件卸掉但是ttf文件依旧删除不了。无法使用右键删除,360也不管用,任务管理器找不到句柄/所以,最后把TTF文件改名,然后控制面板,字体,字体设置里,选则 还原默认字体设置。这样...
  • 打开visual studio时有一个最近打开的项目列表,但是当我们将某个项目在本地磁盘上删除后,那个项目列表依然存在,下面的方法...1.删除最近打开文件 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Fi...
  • 删除右键打开IntelliJ IDEA

    千次阅读 2019-05-26 15:57:26
    打开注册表 修改右键->新建下的选项 修改自己下载的程序添加的右键下的选线 例如删除右键删除打开IntelliJ IDEA,直接删除下方IntelliJ IDEA文件夹即可 ...
  • plsql删除历史记录(重新打开文件)

    千次阅读 2018-12-25 18:04:57
    PL/SQL 最近打开文件在 注册表 HKEY_CURRENT_USER\Software\Allround Automations\PL/SQL\MRU 分支下,将该分支删除就行。 退出注册表编辑器, 重启PL/SQL试下。
  • step1: 在桌面的搜索框中,输入"资源监视器"...step2: 复制要删除文件的名字,粘贴到“关联的句柄”搜索框中step3: 右击搜索到的文件,选择“结束进程”,然后,重新去删除文件删除成功。...
  • 1.打开任务管理,点详细信息 2.打开性能---->3.打开下方的 资源监视器 4.句柄中输入文件名 5.鼠标右键结束进程 就可以删除文件
  • 解决办法:删除 C:\Users\Administrator\AppData\Roaming\BaiduYunKernel\Config\index.s3dbs 文件
  • 重启电脑,再删除相关镜像文件
  • 今天下载的一个文件恢复软件工具,之后不好用想删掉就出现上面情况,怎么删啊,删除时候就提示“文件已经在另一个程序中打开”,有图,系统win7, 由于文件正在打开着,所以无法删除,解决办法如下: 1:关闭打开...
  • 1、进入任务管理器 三种方法: (1、使用Ctrl+Shift+Esc组合键 ... (3、组合键“Win+R”键打开运行对话框,输入...5、之后大概可以对文件进行操作了 6、其实如果不怕麻烦的话,重启之后在操作应该也是可行的233 ...
  • win10 删除文件提示“操作无法完成 文件已在windows文件资源管理器中打开”解决办法 第一步,打开任务管理器,在性能中选择“打开资源监视器” 第二步,在资源监视器界面中选择“CPU”——“关联的句柄” 第三步,...
  • 1 环境 第二天开机打开含有VBA程序的excel,突然弹出一个修复窗口,必须点击确定,否则退出。 修复之后见下图:   ...泪崩:所有的VAB程序一次开机之间啥也没有了,工作。...ps:若有已经写了代码的文件可通过...
  • 1.确认是否正确删除 2.若只是近期内“移除”,建议从回收站还原后继续如图1删除 3.若删除过程中出现 XXXX文件
  • 传给别人的EXCEL文档,只让对方打开1次就自动删除;或者EXCEL文档在某一日期之前打开是可以看到内容的,超过此日期就看不内容了;
  • 1、打开任务管理器; 2、选择下方--打开资源...4、在下方关联的句柄右侧--搜索框内输入你要删除文件或文件夹名; 5、找到你要删除文件或文件夹,右键选择结束进程; 6、这样就能顺利删除文件/文件夹了!...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,256,282
精华内容 502,512
关键字:

如何删除已经打开的文件