0

我有一个用 C# 编写的桌面应用程序,我想在启动时运行它。
而且还有一个功能,

    Index()

每次启动时应该只运行一次。
我的意思是,应该以这样一种方式调用此函数,即它仅在应用程序在新贵启动时运行,而不是在用户手动启动应用程序时运行。我想知道,我该怎么做?尽管付出了很多努力,但我仍然无法为这个问题想出一个富有成效的逻辑。我的桌面应用程序将在 Windows 7 上运行。

4

2 回答 2

3

解决方案的一种可能的简单尝试是命令行参数,您可以将需要运行的“特殊”逻辑附加到该参数。当用户随后手动启动应用程序时,这个“神奇”参数将不存在,逻辑也不会发生。

在控制台应用程序中,您需要做的就是检查方法的args参数Main()

要在 Windows 窗体应用程序的 Main 方法中启用命令行参数,您必须在 program.cs 中手动修改 Main 的签名。Windows 窗体设计器生成的代码创建一个没有输入参数的 Main。您还可以使用 Environment.CommandLine 或 Environment.GetCommandLineArgs 从控制台或 Windows 应用程序中的任何位置访问命令行参数。

引用自MSDN,其中包含像往常一样的大量信息。

于 2013-10-31T10:07:14.847 回答
1

没有标准的方法来检查应用程序是否已在计算机启动时启动。一种可能的解决方案是传递一个命令行参数,如/startup,并在应用程序启动时检查此参数。

于 2013-10-31T10:06:50.960 回答