[DllImport("kernel32.dll", SetLastError=true)]
public static extern IntPtr _lopen(string lpPathName, int iReadWrite);
// https://blog.csdn.net/a1037949156/article/details/79069649/
#region AccessMode
public const int OF_READ = 0;
public const int OF_WRITE = 1;
public const int OF_READWRITE = 2;
#endregion
#region ShareMode
public const int OF_SHARE_COMPAT = 0x0;
public const int OF_SHARE_EXCLUSIVE = 0x10;
public const int OF_SHARE_DENY_WRITE = 0x20;
public const int OF_SHARE_DENY_READ = 0x30;
public const int OF_SHARE_DENY_NONE = 0x40;
#endregion
IntPtr Handle = lopen("TargetPath", OFREADWRITE | OF_SHARE_COMPAT);