C#中的“MoveFile”功能(重启后删除文件)

前端之家收集整理的这篇文章主要介绍了C#中的“MoveFile”功能(重启后删除文件)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要一个例子,可以让我传递一个参数

例如执行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");
}

猜你在找的C#相关文章