我使用Windows窗体,并使用Interop
库以以下方式执行Outlook应用程序:
Outlook.Application outlookApp = new Outlook.Application();
Outlook.MailItem mailMessage = (Outlook.MailItem)outlookApp.CreateItem(Outlook.OlItemType.olMailItem);
mailMessage.Subject = "[email protected]";
mailMessage.HTMLBody = "test";
mailMessage.Display(true);
要执行Outlook,我使用mailMessage.Display(true);
,但是当我使用它不再能使用我的应用程序时,我的应用程序只是冻结了,但是当我再次关闭Outlook应用程序时,它又工作了。如何将Outlook视作应用程序的依赖项,以便同时使用我的应用程序和Outlook?问候
[通过在组件下的工具箱中添加它来创建backgroundWorker实例。
将新添加的backgroundWorker实例放置在表单类的构造函数中:
public Form1()
{
InitializeComponent();
outlookWorker.DoWork += new DoWorkEventHandler(outlookWorker_DoWork);
}
通过应该打开Outlook窗口的按钮的button_click事件中的backgroundWorker实例添加background.WorkerAsync方法:
private void button1_Click(object sender, EventArgs e)
{
outlookWorker.RunWorkerAsync();
}
添加先前编写的代码以为backgroundWorker的DoWork事件实例化Outlook窗口:
private void outlookWorker_DoWork(object sender, DoWorkEventArgs e)
{
Outlook.Application outlookApp = new Outlook.Application();
Outlook.MailItem mailMessage = (Outlook.MailItem)outlookApp.CreateItem(Outlook.OlItemType.olMailItem);
mailMessage.Subject = "[email protected]";
mailMessage.HTMLBody = "test";
mailMessage.Display(true);
}
现在,打开Outlook窗口后,您可以按任意按钮或在表单上执行辅助操作。
我希望这可以帮助您实现目标。