Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取主机,但主机应用程序关闭时_C# - Fatal编程技术网

C# 获取主机,但主机应用程序关闭时

C# 获取主机,但主机应用程序关闭时,c#,C#,以下代码获取主机应用程序(在本例中为CorelDraw应用程序),如果CorelDraw正在运行且exe由CorelDraw运行,则主机应用程序将正确运行: Corel.Interop.CorelDRAW.Application appDRAW = new Corel.Interop.CorelDRAW.Application(); app = (Application)this.Host; 但是由于一些复杂的原

以下代码获取主机应用程序(在本例中为CorelDraw应用程序),如果CorelDraw正在运行且exe由CorelDraw运行,则主机应用程序将正确运行:

  Corel.Interop.CorelDRAW.Application appDRAW =
                                    new  Corel.Interop.CorelDRAW.Application();
  app = (Application)this.Host;
但是由于一些复杂的原因,我需要在没有corel运行的情况下运行这段代码,但我不会使用应用程序实例,除非corel正在运行,否则我可以通过任何方式获取主机应用程序的名称或类似的内容,或者只是在主机应用程序运行之前指向其exe

也许像

app = (Application) getHostByExe("c:\corelPath\corel.exe");
还有建议,

这个问题为我解决了

Dim obj As Object
Dim app As c.Application

obj = GetObject("", "CorelDRAW.Application")
app = CType(obj, c.Application)

但是interop调用的全部要点是,你不必知道主机在哪里,它的文件名,在没有corel运行的情况下让代码正常工作是什么意思?我的意思是,我希望代码被接受和遵守,在运行时,我将确保corel正在运行,这样代码就不会出现错误,Interop不会阻止它编译。你是说你想要一种检查Corel是否会运行的方法,而不是简单地调用它,看看它是否失败?