在自己的应用程序中打开文件 c# winform

问题描述 投票:0回答:0

我被要求创建一个程序来打开任何文件及其相关的应用程序(例如,word 中的 docx,记事本中的 txt 等)。这是我的代码:

            OpenFileDialog ofd = new OpenFileDialog();
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                foreach (string path in ofd.FileNames)
                {
                    FileInfo fi = new FileInfo(path);
                    ListViewItem lvi = new(fi.Name);
                    lvi.SubItems.Add(path);
                    listView1.Items.Add(lvi);

                    System.Diagnostics.Process.Start(@"c:\textfile.txt");
                    System.Diagnostics.Process.Start(@"c:\image.jpg");
                    System.Diagnostics.Process.Start(@"c:\document.pdf");
                }

然而,这个错误不断出现

System.ComponentModel.Win32Exception: '尝试启动进程 'c: extfile.txt' 时发生错误,工作目录位于 \Debug et6.0-windows'。系统找不到指定的文件。'

我正在使用 c# WinForms。如果不包含 system.diagnostics.process.start,则所选文件可以毫无问题地显示到列表视图控件中。但我真正需要的是让文件在默认应用程序中弹出并显示

我试过了

            string exeDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            Directory.SetCurrentDirectory(exeDir);

但我不认为工作目录是问题所在

c# winforms directory system.diagnostics
© www.soinside.com 2019 - 2024. All rights reserved.