// 如果你用VSTO2005开发有以下办法添加右键菜单: Outlook.ExplorerClass _Explorer = null; Office.CommandBars _CommandBars = null; object _Missing = System.Reflection.Missing.Value; Office.CommandBarButton _ContextMenuButton = null; private void ThisApplication_Startup(object sender, System.EventArgs e) { _Explorer = (Outlook.ExplorerClass)this.ActiveExplorer(); _CommandBars = _Explorer.CommandBars; _CommandBars.OnUpdate += new Microsoft.Office.Core._CommandBarsEvents_OnUpdateEventHandler(_CommandBars_OnUpdate); } void _CommandBars_OnUpdate() { foreach (Office.CommandBar bar in _CommandBars) { if (bar.Name == "Context Menu") { // we found the context menu Office.MsoBarProtection oldProtection = bar.Protection; bar.Protection = Microsoft.Office.Core.MsoBarProtection.msoBarNoProtection; _ContextMenuButton = (Office.CommandBarButton)bar.Controls.Add(Office.MsoControlType.msoControlButton, 1, _Missing, _Missing, true); _ContextMenuButton.Style = Microsoft.Office.Core.MsoButtonStyle.msoButtonIconAndCaption; _ContextMenuButton.TooltipText = "Isabella's Context menu...."; _ContextMenuButton.BeginGroup = true; _ContextMenuButton.Caption = "Click me..."; _ContextMenuButton.Visible = true; _ContextMenuButton.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(_ContextMenuButton_Click); bar.Protection = oldProtection; } } } void _ContextMenuButton_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault) { MessageBox.Show("Hey, you clicked the Contextbutton !"); }
源: