private string GetCaption(int id) { if (user32 == null) user32 = UnsafeNativeMethods.LoadLibrary(Environment.SystemDirectory + "\\User32.dll"); var sb = new StringBuilder(256); UnsafeNativeMethods.LoadString(user32, (uint)id, sb, sb.Capacity); return sb.ToString().Replace("&", ""); }
internal static extern int LoadString([In][Optional] SafeLibraryHandle hInstance, [In] uint uID, [Out] StringBuilder lpBuffer, [In] int nBufferMax);
internal static extern int LoadStringW([In] SafeLibraryHandle hInstance = default(SafeLibraryHandle), [In] uint uID, [Out] StringBuilder lpBuffer, [In] int nBufferMax);