从启动文件夹中检测执行

时间:2015-09-15 08:20:35

标签: c# wpf winforms

我可以处理这种情况

我的应用程序已在系统启动文件夹

  • 关于应用程序启动事件我想最小化应用程序到系统托盘[已经有了执行此操作的工作代码]
  • 如果用户通过单击图标[桌面图标]启动应用程序 然后我不想在系统托盘中显示它而是将其显示为普通应用程序

我定义了这样的代码

  private void Application_Startup(object sender, StartupEventArgs e)
    {

    }

当用户从System Startup文件夹手动打开应用程序或其中

时,如何检测启动

1 个答案:

答案 0 :(得分:3)

正如@PatrickHofman在评论中所说,你应该简单地使用一个论点。

  

但我的问题是如何启动应用程序 - 用户点击桌面图标或 - 系统ON事件自动启动?

  • 自动启动应使用-minimized(或其他)开关启动您的应用。
  • 桌面上的快捷方式应该在没有任何开关的情况下执行

然后:

private void Application_Startup(object sender, StartupEventArgs e)
{
    if (e.Args.Length == 1 && e.Args[0] == "-minimized")
        // todo: minimize your app
}

参数是可执行文件名后的可选空格分隔字符串(下图中的选项1 )。您可以在StartupEventArgs.Args字符串数组或Main方法中访问这些字符串。

Shortcut options

或者,如果通过快捷方式启动应用程序(选项2 ),则可以设置窗口状态。