Wie kann ich Nachrichten an einen STA-Thread senden, in dem eine Nachrichtenpumpe ausgeführt wird?

Also folgtdieseIch habe mich entschieden, ein COM-Objekt auf einem dedizierten STA-Thread explizit zu instanziieren. Experimente haben gezeigt, dass das COM-Objekt eine Nachrichtenpumpe benötigt, die ich durch Aufrufen erstellt habeApplication.Run():

private MyComObj _myComObj;

// Called from Main():
Thread myStaThread = new Thread(() =>
{
    _myComObj = new MyComObj();
    _myComObj.SomethingHappenedEvent += OnSomthingHappened;
    Application.Run();
});
myStaThread.SetApartmentState(ApartmentState.STA);
myStaThread.Start();

Wie poste ich Nachrichten von anderen Threads an die Nachrichtenpumpe des STA-Threads?

Hinweis: Ich habe die Frage der Kürze halber stark bearbeitet. Einige Teile von @Servys Antwort scheinen jetzt nicht miteinander zu tun zu haben, aber sie betrafen die ursprüngliche Frage.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage