당신은 어떻게 배치 파일에는 휴지통 대신 삭제 하시겠습니까?
문제
프로그래밍 솔루션의 물론...
해결책
http://www.daveamenta.com/2008-05/c-delete-a-file-to-the-recycle-bin/
위에서:
using Microsoft.VisualBasic;
string path = @"c:\myfile.txt";
FileIO.FileSystem.DeleteDirectory(path,
FileIO.UIOption.OnlyErrorDialogs,
RecycleOption.SendToRecycleBin);
다른 팁
당신이 필요로 탐구하는 관리되지 않는 코드입니다.여기에는 정적 클래스 사용해 왔습니다:
public static class Recycle
{
private const int FO_DELETE = 3;
private const int FOF_ALLOWUNDO = 0x40;
private const int FOF_NOCONFIRMATION = 0x0010;
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto, Pack = 1)]
public struct SHFILEOPSTRUCT
{
public IntPtr hwnd;
[MarshalAs(UnmanagedType.U4)]
public int wFunc;
public string pFrom;
public string pTo;
public short fFlags;
[MarshalAs(UnmanagedType.Bool)]
public bool fAnyOperationsAborted;
public IntPtr hNameMappings;
public string lpszProgressTitle;
}
[DllImport("shell32.dll", CharSet = CharSet.Auto)]
static extern int SHFileOperation(ref SHFILEOPSTRUCT FileOp);
public static void DeleteFileOperation(string filePath)
{
SHFILEOPSTRUCT fileop = new SHFILEOPSTRUCT();
fileop.wFunc = FO_DELETE;
fileop.pFrom = filePath + '\0' + '\0';
fileop.fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION;
SHFileOperation(ref fileop);
}
}
부록:
- Tsk tsk@Jeff 에 대한"사용하여 Microsoft.Visual basic"C#의 코드입니다.
- Tsk tsk@MS 에 대한 모든 케이크 비주얼 베이직에서 네임스페이스가 있습니다.
최선의 방법은 내가 찾는 사용하는 기능 VB FileSystem.DeleteFile
.
Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile(file.FullName,
Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs,
Microsoft.VisualBasic.FileIO.RecycleOption.SendToRecycleBin);
필요한 추가 Microsoft.VisualBasic
참고로,그러나 이것의 일부입니다.NET 프레임워크 및 그렇지 않은 추가 의미할 수 있습니다.
대체 솔루션이 필요 P/호출을 SHFileOperation, 뿐만 아니라,정의하는 모든 다양한 구조물/상수입니다.함 Microsoft.VisualBasic
은 많은 깔끔한 비교가 있습니다.
제휴하지 않습니다 StackOverflow