如何在互操作期间阻止 MS Graph 组件弹出?

Posted

技术标签:

【中文标题】如何在互操作期间阻止 MS Graph 组件弹出?【英文标题】:How do I stop MS Graph component popping up during Interop? 【发布时间】:2010-09-06 09:42:48 【问题描述】:

在 C# 中使用 Office 互操作时,如果将图表对象插入 MS Word 文档,Grap 应用程序会在很短的时间内加载然后消失。有没有办法防止这种情况发生?我已尝试将应用程序实例的 Visible 属性设置为 false 无效。

编辑:Visible 属性在互操作时对 Word 使用时会生效,并且它不会弹出。我希望 MS Graph 也有类似的方法。

【问题讨论】:

【参考方案1】:

这是托管在可执行二进制文件中的许多组件的常见行为。主机应用程序将启动,然后完成这项工作。我不知道是否有一种万无一失的方法可以防止这种情况发生,因为在应用程序启动并响应之前,您无法控制组件或进程。

我过去尝试过的一个技巧(针对完全不相关的东西)是启动一个进程并不断检测其主窗口是否已创建。它一被创建,我就隐藏了它。您可以使用故障应用程序的主模块执行此操作,并希望它足够快以在用户注意到之前隐藏窗口。然后你实例化你的组件;该组件通常会回收现有进程,希望是具有隐藏主窗口的进程。

我无法保证这将适用于您的情况,但值得一试,因为问题非常重要,或者如果您当然没有找到更好的方法。

【讨论】:

以上是关于如何在互操作期间阻止 MS Graph 组件弹出?的主要内容,如果未能解决你的问题,请参考以下文章

如何阻止片段一直弹出到根片段? [导航组件]

如何在 put() 期间阻止 ConcurrentHashMap get() 操作

在维护期间阻止网站,测试人员除外

winform如何让弹出窗口始终置于程序最顶层

CMake - 如何在打包期间阻止执行安装脚本?

Antd - 是不是可以阻止空格键关闭弹出菜单?