我将我的c#程序设置为在Windows启动时通过将其添加到Windows注册表来运行。它工作正常,但这是我的问题......
我希望程序在系统托盘中启动,但只有在Windows自动启动时才能启动。如果用户从桌面双击程序,则我不希望程序在系统托盘中启动。现在,我可以让它始终在正常窗口模式下打开,或者始终在系统托盘中打开。
无论如何可能确定我的程序是否由Windows启动程序启动?或者有这个问题的替代方案吗?
谢谢!
答案 0 :(得分:5)
在注册表启动时添加参数。您绝对可以使用批处理脚本执行此操作,也可以直接在注册表中执行此操作。
您将在静态主函数的参数中看到参数,并可以采取相应的行动。
答案 1 :(得分:5)
我建议使用命令行参数。如果用户双击一个图标,那么程序应该以这样的方式开始:myProgram.exe / i,如果它从Windows开始,那么它应该像myProgram.exe / w那样启动。
您可以解析程序主体中的命令行参数。见这里:
http://www.c-sharpcorner.com/UploadFile/mahesh/CmdLineArgs03212006232449PM/CmdLineArgs.aspx