C#中的“MoveFile”功能(重启后删除文件)
发布时间:2020-12-15 17:48:49 所属栏目:百科 来源:网络整理
导读:我需要一个例子,可以让我传递一个参数 例如执行delete.exe /killme.txt 所以它将在重新启动后使用“MoveFile”删除killme.txt. 虽然请不要MS预编译版本,因为它有一个烦人的免责声明,每次运行在不同的计算机上. 解决方法 您将需要 MoveFileEx的P / Invoke声明
我需要一个例子,可以让我传递一个参数
例如执行delete.exe /killme.txt 所以它将在重新启动后使用“MoveFile”删除killme.txt. 虽然请不要MS预编译版本,因为它有一个烦人的免责声明,每次运行在不同的计算机上. 解决方法
您将需要
MoveFileEx的P / Invoke声明:
[Flags] internal enum MoveFileFlags { None = 0,ReplaceExisting = 1,CopyAllowed = 2,DelayUntilReboot = 4,WriteThrough = 8,CreateHardlink = 16,FailIfNotTrackable = 32,} internal static class NativeMethods { [DllImport("kernel32.dll",SetLastError=true,CharSet=CharSet.Unicode)] public static extern bool MoveFileEx( string lpExistingFileName,string lpNewFileName,MoveFileFlags dwFlags); } 和一些示例代码: if (!NativeMethods.MoveFileEx("a.txt",null,MoveFileFlags.DelayUntilReboot)) { Console.Error.WriteLine("Unable to schedule 'a.txt' for deletion"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |