선언:

C#

[DllImport("kernel32", CharSet = CharSet.Auto)]
public static extern Int32 GetWindowsDirectory(String Buffer, Int32 BufferLength);


VB.NET

<DllImport("kernel32", CharSet := CharSet.Auto)> _
Public Shared Function GetWindowsDirectory(Buffer As String, BufferLength As Int32) As Int32
End Function




사용 예제:

C#

using System;
using System.Runtime.InteropServices;

namespace ApiReference {
    class ApiExample {
        [DllImport("kernel32", CharSet = CharSet.Auto)]
        public static extern Int32 GetWindowsDirectory(String Buffer, Int32 BufferLength);
        
        public static void Main(string[] args) {
            String winDir = new string(' ', 260);
            GetWindowsDirectory(winDir, 260);
            winDir = winDir.Trim();
            Console.WriteLine("Windows Directory:");
            Console.WriteLine("  {0}", winDir);
            Console.ReadKey(true);
        }
    }
}


VB.NET

Imports System
Imports System.Runtime.InteropServices

Namespace ApiReference
    Class ApiExample
        <DllImport("kernel32", CharSet := CharSet.Auto)> _
        Public Shared Function GetWindowsDirectory(Buffer As String, BufferLength As Int32) As Int32
        End Function

        Public Shared Sub Main(args As String())
            Dim winDir As String = New String(" "C, 260)
            GetWindowsDirectory(winDir, 260)
            winDir = winDir.Trim()
            Console.WriteLine("Windows Directory:")
            Console.WriteLine("  {0}", winDir)
            Console.ReadKey(True)
        End Sub
    End Class
End Namespace




예제 실행 결과:




매개 변수 설명:

Buffer - 시스템 폴더의 경로가 저장될 변수를 입력합니다.

BufferLength - 시스템 폴더의 경로가 저장될 버퍼 변수의 길이를 입력합니다.




API 설명:

윈도우즈 폴더(평균적으로 C:\Windows)의 경로를 가져옵니다.




참고:

GetWindowsDirectory (MSDN)




비고:

GetSystemDirectory API와 마찬가지로, API 호출 성공 시 버퍼에 복사된 크기를 반환합니다.



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

36. SHGetFolderPath  (0) 2014.10.29
35. GetComputerName  (0) 2014.10.24
33. GetSystemDirectory  (0) 2014.10.23
32. SendMessage  (1) 2014.10.11
31. SetWindowLong  (0) 2014.10.11

+ Recent posts