C#程序win-startup到系统托盘

时间:2009-02-24 02:49:00

标签: c# startup system-tray

我将我的c#程序设置为在Windows启动时通过将其添加到Windows注册表来运行。它工作正常,但这是我的问题......

我希望程序在系统托盘中启动,但只有在Windows自动启动时才能启动。如果用户从桌面双击程序,则我不希望程序在系统托盘中启动。现在,我可以让它始终在正常窗口模式下打开,或者始终在系统托盘中打开。

无论如何可能确定我的程序是否由Windows启动程序启动?或者有这个问题的替代方案吗?

谢谢!

2 个答案:

答案 0 :(得分:5)

在注册表启动时添加参数。您绝对可以使用批处理脚本执行此操作,也可以直接在注册表中执行此操作。

您将在静态主函数的参数中看到参数,并可以采取相应的行动。

答案 1 :(得分:5)

我建议使用命令行参数。如果用户双击一个图标,那么程序应该以这样的方式开始:myProgram.exe / i,如果它从Windows开始,那么它应该像myProgram.exe / w那样启动。

您可以解析程序主体中的命令行参数。见这里:

http://www.c-sharpcorner.com/UploadFile/mahesh/CmdLineArgs03212006232449PM/CmdLineArgs.aspx