возможно использовать управляемый код для очистки исходящей очереди:
using (var msgQueue = new MessageQueue(GetPrivateMqPath(queueName, remoteIP), QueueAccessMode.ReceiveAndAdmin))
{
msgQueue.Purge();
}
, в котором GetPrivateMqPath:
if (!string.IsNullOrEmpty(remoteIP))
return String.Format("FORMATNAME:DIRECT=TCP:{0}\\private$\\{1}", remoteIP, queueName);
else
return @".\private$\" + queueName;
QueueAccessMode.ReceiveAndAdmin указывает на исходящую очередь.