我的C#代码有点问题。概念:从FileDialog中选择文件后,我想将文件的目录写入字符串,然后在此字符串的基础上,我想从该路径运行文件,但出现错误“该路径不是合法格式”。有人知道如何解决吗?
private void button2_Click_2(object sender, EventArgs e)
{
var FD = new System.Windows.Forms.OpenFileDialog();
if (FD.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string fileToOpen = FD.FileName;
System.IO.FileInfo File = new System.IO.FileInfo(FD.FileName);
label8.Text = fileToOpen;
string sciezka = label8.Text;
label9.Text = sciezka;
}
}
private void button3_Click_1(object sender, EventArgs e)
{
if (radioButton6.Checked == false)
{
MessageBox.Show("Proszę wybrać opcję 'Sterowanie klawiaturą.", "Uwaga!",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else if (label8.Text == "")
{
MessageBox.Show("Proszę wybrać plik do sterowania robotem.", "Uwaga!",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
var startInfo = new ProcessStartInfo();
startInfo.WorkingDirectory = Path.GetFullPath(sciezka);
Process proc = Process.Start(startInfo);
}
}
答案 0 :(得分:4)
sciezka
是您的文件名,您将使用以下命令获取其完整路径:
Path.GetFullPath(sciezka)
但是,startInfo.WorkingDirectory
需要目录,而不是文件路径。
ProcessStartInfo.WorkingDirectory
当UseShellExecute属性为false时,获取或设置工作 要启动的进程的目录。当UseShellExecute为true时, 获取或设置包含要启动的进程的目录。
答案 1 :(得分:-1)
startInfo.WorkingDirectory = Path.GetFullPath(sciezka);
startInfo.FileName = sciezka;
Process proc = Process.Start(startInfo);