如标题所说。
我只知道如何在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
。