我使用C#与Outlook对象模型(赎回不是我的选择,由于许可),我有困难,在发送之前编程加密的电子邮件。
我可以成功地得到这理应代表加密按钮的CommandBarButton的参考(根据网上的例子编号718),但我不能以编程方式抑制它。 我试图同时使用CommandBarButton的execute()方法和使用的SendKeys(不知道的SendKeys是有效的,即使在这种情况下)。 所有的Debug.WriteLine报表显示,该按钮在msoButtonUp状态。
我一直在玩这个了天,似乎无法得到它的工作。 任何意见,将不胜感激!
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());
}
}