Programowo szyfruj wiadomości e-mail programu Outlook za pomocą Inspektora

Używam C # z Outlook Object Model (Redemption nie jest dla mnie opcją z powodu licencjonowania) i mam trudności z programowym szyfrowaniem wiadomości e-mail przed jej wysłaniem.

Mogę z powodzeniem uzyskać odniesienie do przycisku CommandBarButton, który rzekomo reprezentuje przycisk Szyfruj (Id 718 według przykładów online), ale nie mogę go programowo wcisnąć. Próbowałem użyć metody Execute () CommandBarButton i używając SendKeys (nie jestem pewien, czy w tym kontekście klucze wysyłania są nawet poprawne). Wszystkie instrukcje debug.writeline pokazują, że przycisk znajduje się w stanie msoButtonUp.

Gram z tym od wielu dni i nie wydaje mi się, żeby działało. Wszelkie porady byłyby bardzo mile widziane!

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

questionAnswers(2)

yourAnswerToTheQuestion