Programmgesteuertes Verschlüsseln von Outlook-E-Mails mit Inspector

Ich verwende C # mit Outlook-Objektmodell (Einlösung ist aufgrund der Lizenzierung keine Option für mich) und habe Probleme, eine E-Mail-Nachricht vor dem Senden programmgesteuert zu verschlüsseln.

Ich kann erfolgreich einen Verweis auf den CommandBarButton abrufen, der angeblich die Schaltfläche "Verschlüsseln" darstellt (ID 718 gemäß Online-Beispielen), kann ihn jedoch nicht programmgesteuert drücken. Ich habe versucht, sowohl die CommandBarButton Execute () -Methode als auch SendKeys zu verwenden (nicht sicher, ob sendkeys in diesem Kontext überhaupt gültig ist). Alle debug.writeline-Anweisungen zeigen, dass sich die Schaltfläche im Status msoButtonUp befindet.

Ich spiele seit Tagen damit und kann es scheinbar nicht zum Laufen bringen. Jeder Rat wäre sehr dankbar!

<code>Outlook.MailItem emailToSend;
...
Microsoft.Office.Core.CommandBarButton cbb = null;
cbb =(CommandBarButton)emailToSend.GetInspector.CommandBars["Standard"].FindControl(Type.Missing, 718, Type.Missing, true, false);

if (cbb != null) {
  //it is not null in debugger    
  if (cbb.Enabled) { 
  //make sure digital signature is on
    cbb.Visible = true;
    Debug.WriteLine("State was: " + cbb.State.ToString()); //all debug calls return msoButtonUp
    cbb.SetFocus();
    SendKeys.SendWait("{ENTER}");
    Debug.WriteLine("State was: " + cbb.State.ToString());
    SendKeys.SendWait("~");
    Debug.WriteLine("State was: " + cbb.State.ToString());
    cbb.Execute();
    Debug.WriteLine("State was: " + cbb.State.ToString());
  }
}              
</code>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage