我有一个用C#编写的桌面应用程序,我希望在启动时运行 此外还有一个功能,
Index()
每次启动时应该只运行一次 我的意思是应该调用此函数,使其仅在应用程序在upstart启动时运行,而不是在用户手动启动应用程序时运行。我想知道,我怎么能这样做?尽管做了很多努力,但我还没有想到这个问题的富有成效的逻辑。我的桌面应用程序将在Windows 7上运行。
答案 0 :(得分:3)
解决方案的一个可能的简单尝试是命令行参数,您可以附加您需要运行的“特殊”逻辑。当用户手动启动应用程序时,这个“魔术”参数将不存在,并且逻辑将不会发生。
在控制台应用程序中,您只需检查args
方法的Main()
参数。
要在Windows窗体应用程序的Main方法中启用命令行参数,必须手动修改program.cs中Main的签名。 Windows窗体设计器生成的代码创建一个没有输入参数的Main。您还可以使用Environment.CommandLine或Environment.GetCommandLineArgs从控制台或Windows应用程序中的任何位置访问命令行参数。
引自MSDN,其中包含许多信息。
答案 1 :(得分:1)
没有标准方法可以检查应用是否已在计算机启动时启动。一种可能的解决方案是传递命令行参数,如/startup
,并在应用程序启动时检查此参数。