C#使用system.diagnostics process打开现有正在运行的进程的文件
我最初认为这个过程可能会使用现有的过程。但是事实并非如此。以下代码的结果将启动CAD软件的两个单独会话-我需要在CAD软件的一个现有会话中打开多个文件。。我先试了一下:C#使用system.diagnostics process打开现有正在运行的进程的文件,c#,process,C#,Process,我最初认为这个过程可能会使用现有的过程。但是事实并非如此。以下代码的结果将启动CAD软件的两个单独会话-我需要在CAD软件的一个现有会话中打开多个文件。。我先试了一下: Process.Start(@"C:\Program Files\Autodesk\AutoCAD 2018\acad.exe", "/product \"C3D\" " + @"C:\folder\1.dwg"); Process.Start(@"C:\Program Files\Autodesk\AutoC
Process.Start(@"C:\Program Files\Autodesk\AutoCAD 2018\acad.exe",
"/product \"C3D\" " + @"C:\folder\1.dwg");
Process.Start(@"C:\Program Files\Autodesk\AutoCAD 2018\acad.exe",
"/product \"C3D\" " + @"C:\folder\2.dwg");
然后我做了这个,这很有效。。。但我还是希望在现有进程中打开一个文件。。。我想唯一的办法就是使用互操作。。。但我需要为每个软件应用程序添加互操作
Process.Start(@"C:\Program Files\Autodesk\AutoCAD 2018\acad.exe",
"/product \"C3D\""
+ " " + @"C:\folder\1.dwg"
+ " " + @"C:\folder\2.dwg"
+ " " + @"C:\folder\3.dwg"
);
是的,没错。没有通用的机制要求正在运行的程序加载新文件。大多数程序都不太可能有互操作层。为什么不使用SDK?此外,“我需要为每个软件应用程序添加互操作”-对于不支持同时打开多个文件的程序概念的任何应用程序,您都需要不同的策略。并非所有应用程序,即使是以文档为中心的应用程序,都必须是MDI应用程序。作为一个简单的应用程序示例,您几乎肯定可以访问您面前的应用程序—尝试在一个Visual Studio实例中加载两个不同的解决方案。