如何在互操作期间停止弹出MS Graph组件?
时间:2020-03-05 18:41:30 来源:igfitidea点击:
在C#中使用Office Interop时,如果将图表对象插入MS Word文档,则Grap应用程序将非常短暂地加载,然后消失。有办法防止这种情况发生吗?我尝试将应用程序实例的Visible属性设置为false无效。
编辑:互操作时,针对Word使用时,Visible属性确实生效,并且不会弹出。我希望有一种类似的方法可以针对MS Graph执行此操作。
解决方案
回答
对于可执行二进制文件中托管的许多组件,这是常见的行为。主机应用程序将启动,然后完成工作。我不知道是否存在确保避免这种情况的可靠方法,因为在应用程序启动并响应之前,我们无法控制组件或者过程。
我过去尝试过的一种hack(对于完全无关的东西)正在启动一个进程,并不断检测其主窗口是否已创建。一经创建,我就将其隐藏。我们可以使用有故障的应用程序的主模块来执行此操作,并希望它能够足够快地在用户注意到之前隐藏窗口。然后实例化组件;该组件通常将回收现有过程,希望该过程具有隐藏的主窗口。
我不能保证我们会在情况下使用,但是值得一试,因为问题很重要,或者我们找不到更好的方法。