如标题所说。
我只知道如何在C#中执行此操作,但是当尝试使用WPF执行此操作时,我无法确定程序启动时在何处或添加了哪些内容来读取文件名。

public static void Main(string[] args)
{
    if (Path.GetExtension(args[0]) == ".avi" || Path.GetExtension(args[0]) == ".mkv")
    {
        string pathOfFile = Path.GetFileNameWithoutExtension(args[0]);
        string fullPathOfFile = Path.GetFullPath(args[0]);
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1(pathOfFile, fullPathOfFile));
    }
    else
    {
        MessageBox.Show("This is not a supported file, please try again..");
    }
}

最佳答案

找到了解决方案。谢谢你的帮助 :)

如果其他人需要,我会张贴我的工作..

在App.xaml中,我添加了Startup="Application_Startup

<Application
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="WpfApplication1.App"
    StartupUri="MainWindow.xaml"
    Startup="Application_Startup">
    <Application.Resources>
    <!-- Resources scoped at the Application level should be defined here. -->
    </Application.Resources>
</Application>


在App.xaml.cs中,我添加了以下几行:

    public static String[] mArgs;

    private void Application_Startup(object sender, StartupEventArgs e)
    {
        if (e.Args.Length > 0)
        {
            mArgs = e.Args;
        }
    }


最后,我不得不在MainWindow类中添加一些信息。

public MainWindow()
{
    this.InitializeComponent();
    String[] args = App.mArgs;
}


要获取所需的数据,请使用System.IO.Path

当心“使用”语句。如果您仅使用Ex。 Path.GetFileNameWithoutExtension您将获得参考错误。获取数据时使用System.IO.Path

09-26 13:54