public static void ShowHelpMsg(string msg)
        {
            var fmFlags = new FmFlags();

            fmFlags.Show();
            fmFlags.DrawStr(msg);
        }
Exemple #2
0
        /// <summary>
        /// 获取系统错误信息的描述
        /// <para>see <see cref="Marshal.GetLastWin32Error"/></para>
        /// <para>封装 <see cref="Kernel32.FormatMessage(FmFlags, IntPtr, uint, uint, ref string, uint, IntPtr)"/></para>
        /// </summary>
        /// <param name="errorCode">系统错误码</param>
        /// <returns></returns>
        public static string GetSysErrroMessage(uint errorCode)
        {
#if false
            string  message = null;
            FmFlags flags   = FmFlags.FORMAT_MESSAGE_ALLOCATE_BUFFER | FmFlags.FORMAT_MESSAGE_IGNORE_INSERTS | FmFlags.FORMAT_MESSAGE_FROM_SYSTEM;
            Kernel32.FormatMessage(flags, IntPtr.Zero, errorCode, 0, ref message, 255, IntPtr.Zero);
#else
            StringBuilder message = new StringBuilder(255);
            FmFlags       flags   = FmFlags.FORMAT_MESSAGE_IGNORE_INSERTS | FmFlags.FORMAT_MESSAGE_FROM_SYSTEM;
            Kernel32.FormatMessage(flags, IntPtr.Zero, errorCode, 0, message, 255, IntPtr.Zero);
#endif

            return(message.ToString().Trim());
        }
Exemple #3
0
 public extern static uint FormatMessage(FmFlags dwFlags, IntPtr lpSource, uint dwMessageId, uint dwLanguageId, StringBuilder lpBuffer, uint nSize, IntPtr Arguments);
Exemple #4
0
 public extern static uint FormatMessage(FmFlags dwFlags, IntPtr lpSource, uint dwMessageId, uint dwLanguageId, [MarshalAs(UnmanagedType.LPTStr)] ref string lpBuffer, uint nSize, IntPtr Arguments);