Send To
我想实现一个 wpf 应用程序,它将从快捷方式中侦听来自桌面的事件。比如右键文件选择send to app
,然后获取文件路径。
那将如何发展?
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 并将 args 存储到可访问的变量中:
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 文件夹中。当您右键单击文件并发送到您的应用程序时,文件名将是传递给您的应用程序的参数。