C#论坛-玄机论坛-C#论坛-玄机宝盒-玄机类库-C#

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 545|回复: 1

[求助中] 请教强制删除被占用的文件

[复制链接]
  • TA的每日心情
    郁闷
    2016-11-15 22:44
  • 签到天数: 1 天

    [LV.1]【初入江湖】

    adminxp 发表于 2017-3-5 23:03:34 | 显示全部楼层 |阅读模式
    1紫晶
    请教一下大屌,我想用C#强制删除一个被其他进程占用的东西,360粉碎机可以实现,我百度找了好多C#写的代码都没有实现,请问一下这个东西可以用C#实现么

    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2018-8-14 22:07
  • 签到天数: 84 天

    [LV.6]【武林翘楚】

    君临 发表于 2017-3-6 10:10:51 | 显示全部楼层
    [C#] 纯文本查看 复制代码
    public void WipeFile(string filename, int timesToWrite)
    		{
    			try
    			{
    				if (File.Exists(filename))
    				{
    					//设置文件的属性为正常,这是为了防止文件是只读
    					File.SetAttributes(filename, FileAttributes.Normal);
    					//计算扇区数目
    					double sectors = Math.Ceiling(new FileInfo(filename).Length / 512.0);
    					// 创建一个同样大小的虚拟缓存
    					byte[] dummyBuffer = new byte[512];
    					// 创建一个加密随机数目生成器
    					RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
    					// 打开这个文件的FileStream
    					FileStream inputStream = new FileStream(filename, FileMode.Open, FileAccess.Write, FileShare.ReadWrite);
    					for (int currentPass = 0; currentPass < timesToWrite; currentPass++)
    					{
    						// 文件流位置
    						inputStream.Position = 0;
    						//循环所有的扇区
    						for (int sectorsWritten = 0; sectorsWritten < sectors; sectorsWritten++)
    						{
    							//把垃圾数据填充到流中
    							rng.GetBytes(dummyBuffer);
    							// 写入文件流中
    							inputStream.Write(dummyBuffer, 0, dummyBuffer.Length);
    						}
    					}
    					// 清空文件
    					inputStream.SetLength(0);
    					// 关闭文件流
    					inputStream.Close();
    					// 清空原始日期需要
    					DateTime dt = new DateTime(2037, 1, 1, 0, 0, 0);
    					File.SetCreationTime(filename, dt);
    					File.SetLastAccessTime(filename, dt);
    					File.SetLastWriteTime(filename, dt);
    					// 删除文件
    					File.Delete(filename);
    				}
    			}
    			catch (Exception)
    			{
    			}
    		}
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复

    使用道具 举报

    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    QQ|Archiver|手机版|小黑屋|玄机论坛   

    GMT+8, 2018-10-22 14:34 , Processed in 1.639256 second(s), 22 queries .

    Powered by Msdn5.com

    © 2014-2015 Msdn5 Inc.

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