선언:

C#

[DllImport("kernel32", CharSet = CharSet.Auto)]
public static extern Int32 RemoveDirectory(String PathName, IntPtr SecAttr);


VB.NET

<DllImport("kernel32", CharSet := CharSet.Auto)> _
Public Shared Function RemoveDirectory(PathName As String, SecAttr As IntPtr) As Int32
End Function




사용 예제:

C#

using System;
using System.Runtime.InteropServices;

namespace ApiReference {
    class ApiExample {
        [DllImport("kernel32", CharSet = CharSet.Auto)]
        public static extern Int32 RemoveDirectory(String PathName, IntPtr SecAttr);

        public static void Main(String[] args)
        {
            Console.Write("폴더의 경로를 입력하세요: ");
            String PathName = Console.ReadLine();
            if ( RemoveDirectory(PathName, IntPtr.Zero) == 0 )
                Console.WriteLine("폴더 삭제 실패!");
            else
                Console.WriteLine("폴더 삭제 성공!");
            
            Console.ReadKey(true);
        }
    }
}


VB.NET

Imports System
Imports System.Runtime.InteropServices

Namespace ApiReference
    Class ApiExample
        <DllImport("kernel32", CharSet := CharSet.Auto)> _
        Public Shared Function RemoveDirectory(PathName As String, SecAttr As IntPtr) As Int32
        End Function

        Public Shared Sub Main(args As String())
            Console.Write("폴더의 경로를 입력하세요: ")
            Dim PathName As String = Console.ReadLine()
            If RemoveDirectory(PathName, IntPtr.Zero) = 0 Then
                Console.WriteLine("폴더 삭제 실패!")
            Else
                Console.WriteLine("폴더 삭제 성공!")
            End If

            Console.ReadKey(True)
        End Sub
    End Class
End Namespace




예제 실행 결과:




매개 변수 설명:

PathName - 만들어질 폴더의 경로를 입력합니다.

SecAttr - 보안 특성 정보를 저장하고 있는 SECURITY_ATTRIBUTES 구조체의 포인터 값으로 기본 값을 사용하려는 경우 IntPtr.Zero 를 입력합니다.




API 설명:

폴더를 삭제합니다.




참고:

RemoveDirectory (MSDN)




비고:

보안 특성자가 적용된 경우 혹은 권한이 없는 경우에 폴더를 삭제하려는 경우, 삭제할 수 있는 충분한 권한이 있는 SECURITY_ATTRIBUTES 구조체를 전달해야 합니다.


'API Reference' 카테고리의 다른 글

6. IsWow64Process  (0) 2014.09.10
5. TerminateProcess  (0) 2014.09.09
4. OpenProcess  (0) 2013.12.12
3. NtQueryInformationProcess  (0) 2013.12.06
1. CreateDirectory  (0) 2013.12.04

+ Recent posts