C# 打开指定路径文件

我用了以下代码:privatestringfilename=Path.GetDirectoryName(Application.ExecutablePath)+"\\co... 我用了以下代码:
private string filename = Path.GetDirectoryName(Application.ExecutablePath) + "\\config.dat"; //配置文件全路径
然后再按钮点击触发事件中使用:
Process.Start("explorer.exe", "/select, " + filename); //打开指定文件
但是打开的只是指定路径下的文件夹,然后选中了要打开的文件,需要再双击文件才能打开。如何才能一点击按钮便能直接打开文件? 急求。。。。
展开
 我来答
百度网友ec17c9c
2013-02-20 · TA获得超过124个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:123万
展开全部
Process.Start(filename);
这个就是让系统使用默认的程序打开你指定的文件。
Process.Start("cmd.exe", filename);

这个是使用指定的程序打开你指定的文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Dino_f
2013-02-20 · TA获得超过285个赞
知道小有建树答主
回答量:437
采纳率:0%
帮助的人:282万
展开全部
改为:
Process.Start("explorer.exe", filename);

Process.Start("cmd.exe", filename);
不知行不行,未试过,你试试吧。
如果不行,再试试:
Process.Start(filename);
追问
嗯,可以的,刚刚提交问题后我自己也试着用了下,Process.Start("explorer.exe", filename);好像可行的,谢谢啦。。。 但是有个问题,我可以用这样的方法打开比如Pdf之类的文件吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dunksong
2019-10-08
知道答主
回答量:6
采纳率:0%
帮助的人:5588
展开全部
收藏了这个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狮是搞完泪18
2013-02-20 · TA获得超过269个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:256万
展开全部
请问你的config.dat文件希望用什么程序打开,记事本?还是特定的文本编辑器?
更多追问追答
追问
记事本。
追答
Process.Start("notepad.exe", @"XXXXXXXX\config.dat");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syht2000
高粉答主

推荐于2017-11-25 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
比如说我要启动E盘的一个office文件
System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo();
//info.WorkingDirectory = Application.StartupPath;
info.FileName = @"e:\测试.docx";
info.Arguments = "";
try
{
System.Diagnostics.Process.Start(info);
}
catch (System.ComponentModel.Win32Exception we)
{
MessageBox.Show(this, we.Message);
return;
}
更多追问追答
追问
这个看起来比较高级,没用过,但是我想问的是如果路径不能写死,也就是说这配置文件要随着我的可执行文件一起打包,跟可执行文件路径绑定在一起,该怎么做?
追答
在路径中加上你的可执行文件路径就行了,但是刚没注意你的代码有个问题,你要启动的是一个dat文件,在大多数电脑上,dat默认是没有关联的,所以也没法启动,如果你是想用记事本来打开那个dat,代码要改为(假定你的dat是跟exe在同一目录下)
System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo();
info.WorkingDirectory = Application.StartupPath;
info.FileName = "notepad.exe";
info.Arguments =Application.StartupPath + @"\config.dat";

try
{
System.Diagnostics.Process.Start(info);
}
catch (System.ComponentModel.Win32Exception we)
{
MessageBox.Show(this, we.Message);
return;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式