我快被Process.Start()恶心死了,求大大们帮助。

ANARYI 2014-10-19 12:05:52
   private void btnLink_Click3(object sender, RoutedEventArgs e)
{
string fn = Environment.CurrentDirectory + "AdbeRdr11000_zh_CN11.0.0.379.1410747856";
Process.Start(@fn);
Environment.Exit(0);
}


上面的是代码,不论用绝对定位还是直接粘贴地址。
都是出现了下面这个报错。
“System.ComponentModel.Win32Exception”类型的未经处理的异常在 System.dll 中发生

其他信息: 系统找不到指定的文件。
到底是什么导致这个错误呢?
...全文
736 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_22203781 2014-10-20
  • 打赏
  • 举报
回复
支持一下
ANARYI 2014-10-20
  • 打赏
  • 举报
回复
我要去换眼镜了。
绿领巾童鞋 2014-10-20
  • 打赏
  • 举报
回复
你的字符串类型fn打印一下,看看是什么结果,如果该结果,可以在程序目录路径下用cmd运行的,用Process肯定能跑起来,如果是WIN7\WIN8要注意运行权限...
WM_JAWIN 2014-10-20
  • 打赏
  • 举报
回复
把fn存的值,复制到命令行执行一下就知了,到底谁恶心了
yluang 2014-10-20
  • 打赏
  • 举报
回复
少了“\\"吧
sunny906 2014-10-20
  • 打赏
  • 举报
回复
Process.Start启动的是一个具体的文件,AdbeRdr11000_zh_CN11.0.0.379.1410747856.exe
by_封爱 版主 2014-10-20
  • 打赏
  • 举报
回复
代码太美不敢看.....
於黾 2014-10-20
  • 打赏
  • 举报
回复
这错误太多了,无力吐槽啊 你只要断点调试,看fn到底是什么,就一目了然了 遇到问题光靠猜哪行 1.@fn这样的用法,根本就是扯淡的用法 2.看看Environment.CurrentDirectory这个路径后面到底有没有\\,没有要加上 3.文件名后面不跟扩展名,系统知道你到底想执行哪个文件??
effun 2014-10-20
  • 打赏
  • 举报
回复
可执行文件应该是以.exe结尾的吧,我怎么没看到?
Delta 2014-10-20
  • 打赏
  • 举报
回复
来看看,再多看看基础知识。。。。。
江北百晓生 2014-10-20
  • 打赏
  • 举报
回复
你可以先用MessageBox.Show(Environment.CurrentDirectory) 你会发现直接运行程序和IDE Debug显示的值不一样,还有路径获取是X:\ADIR 不是X:\ADIR\,所以连接的该加\\,还有如果获取程序所在目录,建议直接获取程序所在目录,然后截取。
ANARYI 2014-10-19
  • 打赏
  • 举报
回复
求指教啊,毫无头绪啊。
hanhualangzi 2014-10-19
  • 打赏
  • 举报
回复
Environment.CurrentDirectory + "\\AdbeRdr11000_zh_CN11.0.0.379.1410747856" Environment.CurrentDirectory 获取或设置当前工作目录的完全限定路径。 如果你要启动程序目录下的 AdbeRdr11000_zh_CN11.0.0.379.1410747856你就要在\\ Environment.CurrentDirectory + "\\AdbeRdr11000_zh_CN11.0.0.379.1410747856"
  • 打赏
  • 举报
回复
你太不仔细了,以前考试时经常因为仅仅把个别符号写错了而整体扣分吧?! 关键是,你要有基本的一个常识,Process.Start() 如果因为你才发现了这样的 bug,那根本就是幻想啊。基于这个常识,你就应该在调试时仔细地辨认一下变量值!
  • 打赏
  • 举报
回复
引用 4 楼 ANARYI 的回复:
[quote=引用 3 楼 sp1234 的回复:] 新学习调试一下变量值吧。不会调试,那么编程就是瞎子摸象。
你被楼上误导了,我可以保证我是调试过的,而且fn得到的地址也是绝对正确的。[/quote] 我真的没有被误导,而且我就知道人家回复的你也没有听进去。 你试试看 Environment.CurrentDirectory + "AdbeRdr11000_zh_CN11.0.0.379.1410747856" 这个东西返回什么值?
  • 打赏
  • 举报
回复
很简单的测试把后面+"..."的内容去掉,把@去掉然后运行就判断是否正常 Process.Start(Environment.CurrentDirectory)
exception92 2014-10-19
  • 打赏
  • 举报
回复
可以先用一个exe文件运行,调试看你的代码有问题没。也可能是你的dll中病毒了。
51Crack 2014-10-19
  • 打赏
  • 举报
回复
对c#不熟,有这种语法吗,@fn
ANARYI 2014-10-19
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
新学习调试一下变量值吧。不会调试,那么编程就是瞎子摸象。
你被楼上误导了,我可以保证我是调试过的,而且fn得到的地址也是绝对正确的。
  • 打赏
  • 举报
回复
新学习调试一下变量值吧。不会调试,那么编程就是瞎子摸象。
加载更多回复(1)
课程基础概述本门课程,大喵将会打着大家从零打造一款属于大家自己的 CLI命令行脚手架工具,本课程主要面向新手同学,对命令行工具开发,前端工具开发感兴趣的同学,可以通过本门课程学习到如何使用Node.JS开发一款适配自身项目特色的脚手架命令行工具。并且也会带着大家推送自己开发完成的CLI工具到NPM线上仓库,供所有人下载安装使用。整个课程,大喵会详细讲解所需要依赖的第三方模块包的具体使用,让同学们可以举一反三开发具备自身特色的CLI工具,最终大喵会运用到前面所讲解的基础内容,独立自主开发一个具备 damiao [ add | delete | list | init ] 四种子命令的CLI脚手架工具。CLI命令行工具命令行工具(Cmmand Line Interface)简称cli,顾名思义就是在命令行终端中使用的工具。我们常用的 git 、npm、vim 等都是 cli 工具,比如我们可以通过 git clone 等命令简单把远程代码复制到本地。在目前前端工程大流行的环境下,vue-cli、create-reate-app、angular-cli 等等方便捷的命令行脚手架工具诞生,极大的提升了我们的开发效率与质量,我们可以通过这些脚手架工具在本地速构建我们的开发项目。 课程目录结构1、CLI课程介绍   2、CLI课程纲领和讲师介绍3、CLI课程内容概述    4、CLI命令行工具及场景应用5、CLI课程准备工具和技术   6、CLI课程收获和收益  7、CLI课程实战案例介绍   8、npm CLI 命令行工具发展现状9、创建第一个命令行自定义命令   10、process.argv 接收命令行参数11、commander 工具使用介绍一   12、commander 工具使用介绍二13、inquirer 工具使用介绍   14、ora 加载工具使用介绍15、chalk 颜色工具使用介绍   16、download-git-repo 仓库工具介绍17、创建脚手架命令   18、创建命令可执行文件19、damiao add 命令行指令开发   20、damiao add 模板录入校验21、damiao delete 命令行指令开发   22、damiao list 命令行指令开发23、damiao init 初始化项目指令开发   24、damiao init 指令参数输入校验25、damiao 命令行指令测试.mp4  26、创建npm个人账号及发布npm仓库27、全局安装脚手架工具

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧