n.yuan 发表于 2015-3-25 11:19:43

从调用时,AutoCAD 2015的行为有所不同。网

我有一个小 VB.NET 项目,它在我们的LAN上找到一些图形文件,并将它们列在ListBox中。用户只需单击列表框中的项目,即可使用 Process.Start 在 AutoCAD 中将其打开。在过去,这效果很好,并且自动使用AutoCAD的现有实例。也就是说,如果用户已经打开了AutoCAD并且他们单击了ListBox中的文件,则只会在AutoCAD的现有实例中打开一个新图形。如果没有,它将打开一个新的 AutoCAD 实例。但是,每次执行此操作时,我的计算机都会打开一个新的AutoCAD实例。到目前为止,我的计算机是这个部门中唯一一个这样做的计算机。
**** Hidden Message *****

n.yuan 发表于 2015-3-25 12:30:47

右键单击->打开方式。看附件。还有SDI置0(我记得)。

Kean 发表于 2015-3-25 13:54:37

谢谢,但我尝试右键单击文件名 -> 打开方式....但这并没有纠正问题。我还将 SDI 变量设置为 1,然后返回到 0,然后再设置为 1。没有任何效果。这很有趣,因为这台机器曾经有AutoCAD 2015 LT,当他们卸载它时,文件关联问题首先出现。从那以后,这台机器上一直有麻烦。IT人员很困惑,拒绝让我重新映像机器并从头开始。所以,你知道例行公事....这些人的60-90天分辨率窗口。

n.yuan 发表于 2015-3-26 09:22:34

您可能想要显示启动AutoCAD进程的VB.NET应用程序的代码。据我所知,如果您使用Process.Start(),它总是启动一个新进程(意味着一个新的AutoCAD会话)。我无法想象Process.Start()会找到一个现有的AutoCAD进程并将其返回到您的代码中。
如果您确定AutoCAD会话是用Process.Start()启动的,我会认为“有问题”的机器(您的计算机)正在按预期做事情,所有其他机器要么“有问题”,要么应用程序实际上以不同的方式启动AutoCADProcess.Start()(听起来AutoCAD会话是用众所周知的方法“GetObject()”启动的,错误捕获包装为“CreateObject()”)。

n.yuan 发表于 2015-3-31 09:22:12

好吧,如果您可以访问上述“小型VB项目”的代码,那么问题的根源就在于仅仅查看代码以查看它如何启动/找到AutoCAD进程。
如果它使用(如您开始时所说)Process.Start(),则它始终启动新的 AutoCAD 会话,因此您的计算机将按照应有的方式运行。

n.yuan 发表于 2015-3-31 09:37:37

我猜你是在叫程序。以DWG而不是acad.exe的路径开始(),我认为可以使用现有的AutoCAD实例。
我将从修复AutoCAD安装开始:这很可能是由于注册表损坏造成的。基恩
页: [1]
查看完整版本: 从调用时,AutoCAD 2015的行为有所不同。网