Mega Code Archive

 
Categories / C# / Windows
 

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; }