public DialogResult showMessage(IWin32Window owner, string message, string title, MessageBoxIcon icon, MessageBoxButtons buttons) {

			//Wenn kein Owner mitgegeben wurde, dann Versuchen das Hauptfenster anzuzeigen
			if (owner == null || owner.Handle == IntPtr.Zero)
				owner = new dummyWindow(Process.GetCurrentProcess().MainWindowHandle);

			const string appTitle = "updateSystem.NET Administration";

			//Nachricht loggen
			logLevel lLevel;
			switch (icon) {
				case MessageBoxIcon.Error:
					lLevel = logLevel.Error;
					break;
				case MessageBoxIcon.Exclamation:
					lLevel = logLevel.Warning;
					break;
				default:
					lLevel = logLevel.Info;
					break;
			}
			Log.writeState(lLevel,
			                        string.Format("{0}{1}", string.IsNullOrEmpty(title) ? "" : string.Format("{0} -> ", title),
			                                      message));

			var dlgResponse = Environment.OSVersion.Version.Major >= 6
			       	? showTaskDialog(owner, appTitle, title, message, buttons, icon)
			       	: showMessageBox(owner, appTitle, title, message, icon, buttons);

			Log.writeKeyValue(lLevel, "Messagedialogresult", dlgResponse.ToString());

			return dlgResponse;
		}
        public DialogResult showMessage(IWin32Window owner, string message, string title, MessageBoxIcon icon, MessageBoxButtons buttons)
        {
            //Wenn kein Owner mitgegeben wurde, dann Versuchen das Hauptfenster anzuzeigen
            if (owner == null || owner.Handle == IntPtr.Zero)
            {
                owner = new dummyWindow(Process.GetCurrentProcess().MainWindowHandle);
            }

            const string appTitle = "updateSystem.NET Administration";

            //Nachricht loggen
            logLevel lLevel;

            switch (icon)
            {
            case MessageBoxIcon.Error:
                lLevel = logLevel.Error;
                break;

            case MessageBoxIcon.Exclamation:
                lLevel = logLevel.Warning;
                break;

            default:
                lLevel = logLevel.Info;
                break;
            }
            Log.writeState(lLevel,
                           string.Format("{0}{1}", string.IsNullOrEmpty(title) ? "" : string.Format("{0} -> ", title),
                                         message));

            var dlgResponse = Environment.OSVersion.Version.Major >= 6
                                ? showTaskDialog(owner, appTitle, title, message, buttons, icon)
                                : showMessageBox(owner, appTitle, title, message, icon, buttons);

            Log.writeKeyValue(lLevel, "Messagedialogresult", dlgResponse.ToString());

            return(dlgResponse);
        }