【发布时间】:2022-08-07 18:25:37
【问题描述】:
两种情况下的代码都是相同的:
这是工作并在记事本中打开文本文件
editor = \"notepad.exe\";
if (File.Exists(briefingFile))
{
Process.Start(editor, briefingFile);
}
这个是行不通的:
editor = \"notepad++.exe\";
if (File.Exists(briefingFile))
{
Process.Start(editor, briefingFile);
}
这是相同的测试文件,我安装了记事本++。我还尝试用完整路径指定记事本++,但结果是一样的。 我没有打开记事本++,而是收到了尝试创建新文件或打开丢失文件的附加错误消息。
-
第一条错误消息没有上下文,第二条错误消息说文件不存在,这就是所有可以不用猜测的说法。您需要包含更多信息。你给出的唯一东西是
editor的值,我倾向于相信这不是你遇到这些错误时设置的值。 -
briefing.txt应该更改为完整路径 - 否则找不到它。 -
因为普通的notepad.exe是在Windows环境路径变量中注册的。而记事本++不是。
-
简报.txt 存在。我正在运行相同的代码,而只有“编辑器”正在更改。 \"briefing.txt\" 用记事本打开很好。但是当我尝试用记事本++打开相同的文件时,它会启动错误。这可能是由于 ++ 符号吗?
-
我认为另一个问题可能是您尝试在
user folder中打开文件。并且根据访问权限,notepad++ 无法在那里读取。
标签: c#