Cifrar mediante programación el correo electrónico de Outlook utilizando Inspector

Estoy usando C # con el modelo de objetos de Outlook (el canje no es una opción para mí debido a las licencias) y tengo dificultades para cifrar programáticamente un mensaje de correo electrónico antes de enviarlo.

Puedo obtener con éxito una referencia al CommandBarButton que supuestamente representa el botón Encrypt (Id 718 según los ejemplos en línea), pero no puedo presionarlo mediante programación. Intenté usar el método CommandBarButton Execute () y usar SendKeys (no estoy seguro de si sendkeys es incluso válido en este contexto). Todas las declaraciones debug.writeline muestran que el botón está en el estado msoButtonUp.

He estado jugando con esto durante días y parece que no puedo hacerlo funcionar. ¡Cualquier consejo sería muy apreciado!

<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>

Respuestas a la pregunta(2)

Su respuesta a la pregunta