如何在c#中创建延迟启动应用程序

本文关键字:延迟 启动 应用程序 创建 | 更新日期: 2023-09-27 18:08:52

我正在使用WPF(c# .net)创建一些桌面应用程序。我想创建它作为计算机启动应用程序。我可以添加快捷链接到启动文件夹

我的问题是,我想在电脑启动一分钟后启动这个应用程序。这个怎么做?

如何在c#中创建延迟启动应用程序

如果你真的想知道互联网连接是否可用,也许最好检查一下,而不是任意延迟一段时间。

请查看c#是否可以连接Internet

最简单的解决方案是在应用程序启动时调用Thread.Sleep()。正如你在评论中提到的,你不希望延迟总是发生-只有当应用程序在计算机第一次启动时启动。要实现这一点,代码可以查找一个命令行参数,该参数指定它作为计算机启动的一部分运行。如果看到这个命令行参数,就执行休眠。否则,你可以马上开始。在Startup文件夹中创建快捷方式时,传递一些特殊的令牌....在我的例子中,我使用字符串"startup".

在app . example .cs文件中,你可以像这样写代码:

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        //If a command line argument was passed and it was some special string,
        //   then we want to do the sleep.  Otherwise, we don't sleep and just
        //   continue on right away.
        if (e.Args.Length == 1 && e.Args[0] == "startup")
        {
            //Sleep for 60 seconds
            System.Threading.Thread.Sleep(60 * 1000);
        }
        //Continue on...
        base.OnStartup(e);
    }
}

这样,第一个窗口将不会在60秒内创建。应用程序仍然会立即启动,但实际上不会立即执行任何操作。如果这对你来说足够好,我想这将是最好的解决方案。

如果你试图在60秒内不启动你的应用程序(也许是为了避免在内存中加载你的。exe的开销,以及为CLR完成的任何加载),你可以考虑写一个简单的脚本文件(也许是一个批处理文件等),暂停60秒,然后执行你的程序。然后将该脚本文件放入启动文件夹,而不是应用程序。