如何在c#中创建延迟启动应用程序
本文关键字:延迟 启动 应用程序 创建 | 更新日期: 2023-09-27 18:08:52
我正在使用WPF(c# .net)创建一些桌面应用程序。我想创建它作为计算机启动应用程序。我可以添加快捷链接到启动文件夹
我的问题是,我想在电脑启动一分钟后启动这个应用程序。这个怎么做?
如果你真的想知道互联网连接是否可用,也许最好检查一下,而不是任意延迟一段时间。
请查看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秒,然后执行你的程序。然后将该脚本文件放入启动文件夹,而不是应用程序。