加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用System.Diagnostics.Process.Start运行程序会导致应用

发布时间:2020-12-16 01:38:47 所属栏目:百科 来源:网络整理
导读:在我的电脑上打开DWG文件: "C:Program FilesAutoCAD LT 2007acadlt.exe" "%1" 如果我从命令行运行它: "C:Program FilesAutoCAD LT 2007acadlt.exe" "C:Some PathTest.dwg" AutoCAD Lite打开DWG文件. 类似地,如果我打开命令提示符并使用参数运行相
在我的电脑上打开DWG文件:

"C:Program FilesAutoCAD LT 2007acadlt.exe" "%1"

如果我从命令行运行它:

"C:Program FilesAutoCAD LT 2007acadlt.exe" "C:Some PathTest.dwg"

AutoCAD Lite打开DWG文件.

类似地,如果我打开命令提示符并使用参数运行相同的exe,它可以正常工作.

但是,如果我使用

var proc = new System.Diagnostics.Process();
var info = new System.Diagnostics.ProcessStartInfo();

然后

info.FileName = "C:Some PathTest.dwg";
proc.StartInfo = info;
proc.Start();

要么

info.FileName = "C:Program FilesAutoCAD LT 2007acadlt.exe";
info.Arguments= "C:Some PathTest.dwg"
proc.StartInfo = info;
proc.Start();

要么

info.FileName = "cmd.exe";
info.Arguments= "C:Program FilesAutoCAD LT 2007acadlt.exe" "C:Some PathTest.dwg"
proc.StartInfo = info;
proc.Start();

我收到以下错误:

acadlt.exe – 应用程序错误

“0x01317c8c”处的指令引用“0x01317c8c”处的存储器.内存无法“读取”.

单击“确定”以终止该程序
单击CANCEL以调试程序

确定取消

顺便提一下,如果我使用调试器逐步执行代码,代码就可以了.

有谁知道如何使用Process.Start打开这个DWG?

解决方法

确保指定了正确的工作文件夹:

info.WorkingDirectory = "same path as current directory in cmd.exe";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读