internal static int SHFileOperation(ref NativeMethods.SHFILEOPSTRUCT lpFileOp) { if (IntPtr.Size == 4) { return(NativeMethods.SHFileOperation32(ref lpFileOp)); } NativeMethods.SHFILEOPSTRUCT64 lpFileOp1 = new NativeMethods.SHFILEOPSTRUCT64(); lpFileOp1.hwnd = lpFileOp.hwnd; lpFileOp1.wFunc = lpFileOp.wFunc; lpFileOp1.pFrom = lpFileOp.pFrom; lpFileOp1.pTo = lpFileOp.pTo; lpFileOp1.fFlags = lpFileOp.fFlags; lpFileOp1.fAnyOperationsAborted = lpFileOp.fAnyOperationsAborted; lpFileOp1.hNameMappings = lpFileOp.hNameMappings; lpFileOp1.lpszProgressTitle = lpFileOp.lpszProgressTitle; int num = NativeMethods.SHFileOperation64(ref lpFileOp1); lpFileOp.fAnyOperationsAborted = lpFileOp1.fAnyOperationsAborted; return(num); }
private static extern int SHFileOperation64(ref NativeMethods.SHFILEOPSTRUCT64 lpFileOp);