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