import CreateDirectory and FormatMessage
using System; using System.Text; using System.Runtime.InteropServices; public class Starter { public static void Main() { bool resp = API.CreateDirectory(@"c*:\file.txt", IntPtr.Zero); if (resp == false) { StringBuilder message; int errorcode = Marshal.GetLastWin32Error(); API.FormatMessage(API.FORMAT_MESSAGE_ALLOCATE_BUFFER | API.FORMAT_MESSAGE_FROM_SYSTEM | API.FORMAT_MESSAGE_IGNORE_INSERTS,IntPtr.Zero, errorcode,0, out message, 0, IntPtr.Zero); Console.WriteLine(message); } } } public class API { [DllImport("kernel32.dll", SetLastError = true)] public static extern bool CreateDirectory(string lpPathName, IntPtr lpSecurityAttributes); [DllImport("kernel32.dll", SetLastError = false)] public static extern System.Int32 FormatMessage( System.Int32 dwFlags, IntPtr lpSource, System.Int32 dwMessageId, System.Int32 dwLanguageId, out StringBuilder lpBuffer, System.Int32 nSize, IntPtr va_list); public const int FORMAT_MESSAGE_ALLOCATE_BUFFER = 256; public const int FORMAT_MESSAGE_IGNORE_INSERTS = 512; public const int FORMAT_MESSAGE_FROM_STRING = 1024; public const int FORMAT_MESSAGE_FROM_HMODULE = 2048; public const int FORMAT_MESSAGE_FROM_SYSTEM = 4096; public const int FORMAT_MESSAGE_ARGUMENT_ARRAY = 8192; public const int FORMAT_MESSAGE_MAX_WIDTH_MASK = 255; }