c# - C# 中用于启动 .exe 的计时器
问题描述
我正在尝试制作一个等待 8 小时的程序,然后
如果是上午 8 点或更晚 - 运行 .exe 并自行关闭(完成)
如果还不是早上 8 点 - 等到早上 8 点,然后运行 .exe 并自行关闭
我的代码:
namespace Timer
{
public partial class Timer : Form
{
public Timer()
{
InitializeComponent();
}
TimeSpan eight = new TimeSpan(8, 0, 0);
private void timer1_Tick(object sender, EventArgs e)
{
TimeSpan now = DateTime.Now.TimeOfDay;
if (now >= eight)
{
System.Diagnostics.Process.Start(@"Alarm.exe");
System.Windows.Forms.Application.Exit();
}
else
{
// wait until 8am and then:
System.Diagnostics.Process.Start(@"Alarm.exe");
System.Windows.Forms.Application.Exit();
}
这可能很容易,但我是一个完整的初学者,我自己无法弄清楚:/
非常感谢您的帮助。
解决方案
非常低技术的方法
var now = DateTime.Now;
var schedule = now.AddHours(8);
if (schedule.TimeOfDay < TimeSpan.FromHours(8))
schedule = schedule.Date + TimeSpan.FromHours(8);
var timer = new Timer(Callback, null, schedule - now, Timeout.InfiniteTimeSpan)
推荐阅读
- android - 发生特定事件时如何将图像放在另一个图像上
- node.js - Mongoose 查询(正则表达式)(MongoDB 和 NodeJS)
- python - 请求和 lxml - 登录和抓取数据 - 没有内容显示
- reactjs - 如何在渲染组件时使用 connect 中的 props 而无需显式编写它们?
- typescript - typeorm迁移api不生成自动代码
- javascript - 如何在 d3.js 中显示来自 .json 数据的多边形?
- firebase - Firebase 文档写入限制
- syntax-error - ISE14.7 中 VHDL 测试平台“in”附近的语法错误
- python - Py:imageio.imread vs scipy.misc.imread
- google-apps-script - -自定义函数返回不更新