最近公司有个需求是,拖动文件到桌面图标上,自动打开文件。那么只需在OnStartup事件中通过StartupEventArgs获取文件名然后进行操作即可。操作之后发现当软件已经启动了(单例运行),那么将无法将参数传给业务层。原因是因为跨进程了,那么我们可以通过窗口句柄的方式来进行通讯。 1 public partial class App : Application 2 { 3 private static Mutex AppMutex; 4 public App() 5 { 6 7 } 8 9 protected override void OnStartup(StartupEventArgs e) 10 { 11 //获取启动参数 12 var param = string.Empty; 13 if (e.Args.Length > 0) 14 { 15 param = e.Args[0].ToString(); 16 } 17 18 //WpfApp8 = 你的项目名称 19 AppMutex = new Mutex(true, "WpfApp8", out var...