Process.Start 无法按照互联网上的示例工作[已关闭]

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

我在 C# WPF 工具中打开文件时遇到问题。

我正在目录中搜索包含特定字符串的文件。之后,用户应该能够使用按钮或类似按钮打开找到的文件。

我正在找到这些文件。我的问题是打开这些文件。我收到如下错误:

System.ComponentModel.Win32Exception:“尝试使用工作目录 'C:\Users\OneDrive\Dokumente\IEFileViewe\IEFileViewe in\Debug 启动进程 'Y:/Lehmann/Files\K123456.pdf' 时发生错误 et6.0-windows'。指定的可执行文件不是此操作系统平台的有效应用程序。”

这是我的代码:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace IEFileViewe
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        string KNR;
        string[] files = new string[3];
        string[] allfiles;
        string directory = "Y:/Lehmann/Files";
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            // Überprüfung ob KNR passt
            KNR = txt_Search.Text;
            allfiles = Directory.GetFiles(directory);
            foreach (string file in allfiles) 
            {
                if (file.Contains(KNR) == true)
                {
                    if(file.Contains(".pdf") == true)
                        files[0] = file;
                    else if (file.Contains(".png") == true)
                        files[1] = file;
                }
            }
            for (int i = 0; i < files.Length; i++)
                txtBlock.Text += files[i] + "\n";            
        }

        private void btnPDF_Click(object sender, RoutedEventArgs e)
        {
            //files[0] = files[0].gsub!("\\", "/");
            System.Diagnostics.Process.Start(files[0]);
        }

        private void btnPNG_Click(object sender, RoutedEventArgs e)
        {
            System.Diagnostics.Process.Start(files[1]);
        }
    }
}
c# file openfiledialog
1个回答
-1
投票

你尝试过这个吗:

files[0] = files[0].Replace("\\","/");
© www.soinside.com 2019 - 2024. All rights reserved.