c# outlook打开现有实例和回复电子邮件

本文关键字:实例 回复 电子邮件 outlook | 更新日期: 2023-09-27 17:52:17

c# outlook打开现有实例并获取已打开的outlook窗口列表,以撰写所选窗口的回复

我能够得到outlook的现有实例,但不知道如何接近它的子窗口,并设置回复到现有的电子邮件,而不是创建新的邮件项

公共静态Outlook。应用OutlookInstance{得到{前景。Application = null;

            // Check whether there is an Outlook process running.
            if (Process.GetProcessesByName("OUTLOOK").Count() > 0)
            {
                // If so, use the GetActiveObject method to obtain the process and cast it to an Application object.
                application = Marshal.GetActiveObject("Outlook.Application") as Outlook.Application;
            }
            else
            {
                // If not, create a new instance of Outlook and log on to the default profile.
                application = new Outlook.Application();
                Outlook.NameSpace nameSpace = application.GetNamespace("MAPI");
                nameSpace.Logon("", "", Missing.Value, Missing.Value);
                nameSpace = null;
            }
            // Return the Outlook Application object.
            return application;
        }
    }

c# outlook打开现有实例和回复电子邮件

看起来你对ActiveInspector方法感兴趣,它返回桌面最上面的Inspector对象。使用此方法访问用户最有可能查看的Inspector对象。如果没有活动的检查器,返回null(在VB.NET中没有)。

你也会发现Application类的inspector属性很有帮助。它返回一个Inspector集合对象,其中包含代表所有打开的Inspector的Inspector对象。

 Dim myInspectors As Outlook.Inspectors  
 Dim x as Integer 
 Dim iCount As Integer 
 Set myInspectors = Application.Inspectors 
 iCount = Application.Inspectors.Count 
 If iCount > 0 Then 
   For x = 1 To iCount 
     MsgBox myInspectors.Item(x).Caption 
   Next x 
 Else 
   MsgBox "No inspector windows are open." 
 End If 

如果需要在Outlook Explorer窗口中获取当前选中的项目,请使用Selection对象。有关详细信息,请参见如何:以编程方式确定当前Outlook项目。