qq_39137155
2017-12-30 08:28
采纳率: 100%
浏览 5.5k

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • a_23456 2018-01-02 04:02
    已采纳

    几个问题:
    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换至生成目录外另一个文件夹来打开

    已采纳该答案
    打赏 评论
  • nonrk 2017-12-30 08:34

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

    打赏 评论
  • cityhuntergyt 2017-12-30 12:24

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

    打赏 评论
  • threenewbee 2017-12-30 15:14
     F:\\CShape行编辑\\CShape行编辑\\bin\\Debug\\CShape行编辑.exe
    

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

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

    打赏 评论
  • ll1858 2018-01-01 12:26

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

    打赏 评论
  • Leaderxin 2018-01-02 02:39

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

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

    调用打开文件

    打赏 评论
  • m0_37404009 2018-01-03 05:59

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

    打赏 评论

相关推荐 更多相似问题