首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Outlook在使用Office时崩溃?

为什么Outlook在使用Office时崩溃?
EN

Stack Overflow用户
提问于 2018-05-16 02:07:51
回答 2查看 942关注 0票数 4

我试图利用Office与C#,但我遇到了一些困难。执行像我下面所包含的测试,只要它启动Outlook并与它连接起来,就可以工作了。问题是,如果我随后尝试打开Outlook窗口(它开始隐藏在托盘中),我会从Outlook收到一条错误消息,表示如果在启动应用程序之前,The application was unable to start correctly (0xc0000142).已经运行,则不会收到此错误。我是做错了什么还是什么东西坏了?

代码语言:javascript
复制
using System;
using Outlook = Microsoft.Office.Interop.Outlook;

namespace OutlookInteropTest1
{
    class Program
    {
        static void Main(string[] args)
        {
            var app = new Outlook.Application();
            Console.ReadKey();
        }
    }
}

Visual Community2017版15.2

Office360-OutlookVersion1804构建9226.2156

Windows 10构建17115.1

编辑:在Windows7上对此进行了测试,无法再现崩溃。我知道我曾经在Windows 10中工作过。我重新安装了我的操作系统,它仍然崩溃。除非有人对如何解决这个问题有任何想法,否则我会为微软的典型用户体验而窒息。

EN

回答 2

Stack Overflow用户

发布于 2018-05-16 02:13:02

Outlook是一个单例,因此如果Outlook已经在运行,则创建一个新对象将返回现有对象。

在您的示例中,还需要为其提供命名空间。

代码语言:javascript
复制
olApp = new Outlook.Application();
Outlook.Namespace ns = olApp.GetNamespace("MAPI");
ns.Logon();
票数 1
EN

Stack Overflow用户

发布于 2020-02-28 20:09:50

我知道这是个老问题,但我也遇到了同样的问题,也许这会对未来的人有所帮助:正如IAmRajshah所提到的,只有一个olApp = new Outlook.Application();可以运行,所以,如果olApp = new Outlook.Application();打开了,您需要用类似于Oulook.Application olApp = Marshal.GetActiveObject("Outlook.Application") as Outlook.Application;这样的名称“连接”到outlook的活动实例--下面的链接有一个很好的例子:

获取并登录到Outlook实例

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50361486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档