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;
}
}
看起来你对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项目。