/// Send a message to the NOTools.Console monitor pipe
 /// </summary>
 /// <param name="message">the given message as any</param>
 /// <returns>true if send</returns>
 internal static string InternalSendNamedPipeMessage(string message, string parentEntryID)
 {
     try
     {
         if (!EnableSharedOutput)
             return null;
         lock (_sharedLock)
         {
             if (null == Pipe)
                 Pipe = new PipeClient();
             return Pipe.SendConsoleMessage(null, message, parentEntryID);
         }
     }
     catch (Exception exception)
     {
         EnableSharedOutput = false;
         WriteException(exception);
         return null;
     }
 }
 /// <summary>
 /// Send a channel message to the NOTools.Console monitor pipe
 /// </summary>
 /// <param name="channel">channel id string. the argument must exclude the '?' character</param>
 /// <param name="message">the given message as any</param>
 /// <returns>true if send</returns>
 internal static string InternalSendNamedPipeChannelMessage(string channel, string message)
 {
     try
     {
         if (!EnableSharedOutput)
             return null;
         lock (_sharedLock)
         {
             if (null == Pipe)
                 Pipe = new PipeClient();
             return Pipe.SendChannelMessage(channel, message);
         }
     }
     catch (Exception exception)
     {
         EnableSharedOutput = false;
         WriteException(exception);
         return null;
     }
 }
 /// <summary>
 /// Send a message to the NOTools.Console monitor pipe
 /// </summary>
 /// <param name="console">name for the console(must exclude the '?' char) or null for default console</param>
 /// <param name="message">the given message as any</param>
 /// <param name="parentEntryID">parent message id. the console monitor can show a hierarchy with these info</param>
 /// <returns>entry id for the log message if arrived, otherwise null</returns>
 public static string SendPipeConsoleMessage(string console, string message, string parentEntryID)
 {
     try
     {
         lock (_sharedLock)
         {
             if (null == Pipe)
                 Pipe = new PipeClient();
             return Pipe.SendConsoleMessage(console, message, parentEntryID);
         }
     }
     catch (Exception exception)
     {
         EnableSharedOutput = false;
         WriteException(exception);
         return null;
     }
 }