有一个名为 cdrtfe 的开源软件(位于http://cdrtfe.sourceforge.net/),它支持通过命令行刻录 CD。当我使用 cmd.exe 以基本方式运行命令时,它可以正确燃烧,没有任何问题。但是,当我在解析所需参数的同时使用 C# 创建进程时,cdrtfe 显示好像它即将正常工作,但随后它突然抱怨磁盘上没有空间。我还注意到它甚至没有检测到安装了 CD 刻录机驱动器。我不确定为什么当我通过 C# 代码调用它时它会以这种方式表现,但我在这里的栅栏上......我似乎无法解决这个问题。
我什至尝试用必要的命令写出一个 bat 文件并使用 Process 调用调用该 bat 文件,但它仍然失败并出现同样的错误。但是,手动运行它创建的相同 bat 文件会显示出积极的结果并开始刻录。
有没有人对此有解决方案?
这是我使用的一小段代码:-
String filesargument = "";
for (int i = 0; i < m_Files.Count; i++)
{
filesargument += string.Format("\"{0}\"", m_Files[i].FullName);
filesargument += " ";
}
string path = Path.Combine(
System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
, @"cdrtfe");
var startInfo = new ProcessStartInfo();
Process burnProcess = new Process();
startInfo.Arguments = string.Format(@"/audio {0}/execute /exit /nosplash", filesargument);
startInfo.UseShellExecute = true;
startInfo.WorkingDirectory = path;
startInfo.FileName = @"cdrtfe.exe";
burnProcess.StartInfo = startInfo;
burnProcess.Start();
burnProcess.WaitForExit();
谢谢
编辑:对不起,缺乏细节。这是一个在 VS2010 中开发的具有管理员权限的 WPF 应用程序。由于我仍在调试,因此代码在同一帐户下运行。
编辑2:我只是尝试运行没有任何参数的exe,只是为了正常执行它并给出类似的结果。它只是拒绝检测我的 CD/DVD 驱动器。