http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3621|回复: 2

[C#语言基础] C#怎么复制被其他程序占用的文件?

[复制链接]
发表于 2017-5-24 15:04:51 | 显示全部楼层 |阅读模式
我现在的思路就是 首先通过判断 文件是否被其他程序占用
被占用 通过文件 找到进程,然后杀掉进程,
杀掉进程后 复制文件
/// <summary>
/// 判断文件是否被占用 vFileName为文件的路径+文件名称
/// </summary>

public string IsUnlocker(string vFileName)
        {
            if (!File.Exists(vFileName))
            {
                return "Nofiles";
            }
            IntPtr vHandle = _lopen(vFileName, OF_READWRITE | OF_SHARE_DENY_NONE);
            if (vHandle == HFILE_ERROR)
            {
                return "true";
            }
            CloseHandle(vHandle);
            return "false";
        }


///<summary>
/// 通过调用外部程序解除文件被占用,fileName为要检查被那个进程占用的文件  
///</summary>
public void KillFiles(string fileName)
{
            Process tool = new Process();
            tool.StartInfo.FileName = "handle.exe";
            tool.StartInfo.Arguments = fileName + " /accepteula";
            tool.StartInfo.UseShellExecute = false;
            tool.StartInfo.RedirectStandardOutput = true;
            tool.Start();
            tool.WaitForExit();
            string outputTool = tool.StandardOutput.ReadToEnd();
            string matchPattern = @"(?<=\s+pid:\s+)\b(\d+)\b(?=\s+)";
            foreach (Match match in Regex.Matches(outputTool, matchPattern))
            {
                Process.GetProcessById(int.Parse(match.Value)).Kill();
            }

}
///<summary>
///复制文件
///</summary>
public void CopyFolder(string strFromPath, string strToPath)
{
            try
            {...}

            catch
            {...}
}
复制文件的我就简写了

现在有没有更好方式可以 实现我现在想要的功能呢?@站长苏飞




1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2017-5-25 13:57:21 | 显示全部楼层
你已经接触被占用了,那么直接复制文件就行了吧。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-3-29 07:38

© 2014-2021

快速回复 返回顶部 返回列表