从“发送到”选项WPF获取文件路径

本文关键字:WPF 选项 获取 文件 路径 发送到 | 更新日期: 2023-09-27 18:27:27

我想实现一个将侦听的wpf应用程序从CCD_ 1快捷方式转移到来自桌面的事件。例如右键单击文件并选择send to app,然后获取文件路径。

这将如何发展?

从“发送到”选项WPF获取文件路径

SendTo解析%APPDATA%''Microsoft''Windows''SendTo文件夹中的链接,并将文件名作为参数传递给适当的可执行文件。您需要让程序接受命令参数,然后对其进行处理。

编辑:我最初没有提到WPF。所以您可以像这样处理命令行参数。

在App.xaml中,添加一个Startup条目,如下所示:

<Application x:Class="WpfApplication4.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             Startup="App_OnStartup"
             StartupUri="MainWindow.xaml">
  <Application.Resources />
</Application>

在App.xaml.cs中,像这样添加App_OnStartup,并将参数存储到一个可访问的变量中:

namespace WpfApplication4
{
  /// <summary>
  /// Interaction logic for App.xaml
  /// </summary>
  public partial class App : Application
  {
      public static string[] mArgs;
      private void App_OnStartup(object sender, StartupEventArgs e)
      {
          if (e.Args.Length > 0)
          {
              mArgs = e.Args;
          }
      }
    }
}

在你的主窗口中获取args并用它做点什么:

namespace WpfApplication4
{
  /// <summary>
  /// Interaction logic for MainWindow.xaml
  /// </summary>
  public partial class MainWindow : Window
  {
    public MainWindow()
    {
      InitializeComponent();
      string[] args = App.mArgs;
      //do your procedure with the args!
    }
  }
}

然后将程序的快捷方式放在%APPDATA%''Microsoft''Windows''SendTo文件夹中。当你右键点击一个文件并发送到你的应用程序时,文件名将是传递到你应用程序中的参数。