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>