qq_39137155
qq_39137155
采纳率100%
2017-12-30 08:28

用C#windows窗体应用程序设置点击一个button打开我想打开的exe程序后

20
已采纳

vs2017windows窗体应用程序中使用
Process.Start("F:\CShape行编辑\CShape行编辑\bin\Debug\CShape行编辑.exe");打开我想打开的文件后,运行时总是提示system.componentmodel.win32exception系统找不到指定的文件

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

7条回答

  • a_23456 a_23456 3年前

    几个问题:
    1.没有转义,改为
    Process.Start(@"F:\CShape行编辑\CShape行编辑\bin\Debug\CShape行编辑.exe");
    或者
    Process.Start("F:\CShape行编辑\CShape行编辑\bin\Debug\CShape行编辑.exe");
    试试看
    2.如果不行,考虑写绝对路径试试
    Process.Start(Application.StartupPath + "\CShape行编辑.exe");
    3.如果不行,考虑运行项目是否将生成目录清空,如果是,则下图中输出目录选择“始终复制”
    图片说明
    4.如果不行,则将此exe换至生成目录外另一个文件夹来打开

    点赞 2 评论 复制链接分享
  • m0_37404009 m0_37404009 3年前

    不要带中文,中文总会出现异常错误

    点赞 评论 复制链接分享
  • Leaderxin Leaderxin 3年前

    首先,建议检查路径是否正确,可以用资源管理器找到对应exe,然后复制资源管理器上面的路径,调用示例如下:

    System.Diagnostics.Process.Start(@"D:\Program Files\Tencent\QQ\Bin\QQ.exe"); //直接

    调用打开文件

    点赞 评论 复制链接分享
  • ll1858 ll1858 3年前

    @"F:\CShape行编辑\CShape行编辑\bin\Debug\CShape行编辑.exe"
    這樣字符串裏面的內容就不會轉意了

    点赞 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 4年前
     F:\\CShape行编辑\\CShape行编辑\\bin\\Debug\\CShape行编辑.exe
    

    这是你程序本身么?还是另一个程序?如果是另一个程序,它是不是放在了你这个程序的编译路径里?
    visual studio在每次编译前,会清空你的bin\debug目录,所以文件找不到。

    你应该把这个程序放在源代码的目录里,在解决方案管理器里添加到项目里,然后再在属性窗格的生成方式里选择“总是复制”(always copy)

    点赞 2 评论 复制链接分享
  • cityhuntergyt cityhuntergyt 4年前

    首先,确定你在那个位置有这个程序,其次VS里 ‘’\‘’需要使用转义字符''\''。还有就是using 要使用的类和方法。如果需要我这有个demo可以看下。

    点赞 评论 复制链接分享
  • nonrk nonrk 4年前

    请用英文命名文件和文件夹

    点赞 2 评论 复制链接分享

为你推荐