c#隐藏程序定时器

本文关键字:定时器 程序 隐藏 | 更新日期: 2023-09-27 18:07:43

我创建了一个c#控制台应用程序,并将输出类型更改为Project > Project Properties中的Windows应用程序,以创建一个隐藏程序。

我的主方法是这样的:

static void Main(string[] args)
{
    System.Timers.Timer timer = new System.Timers.Timer(); // Initialize a timer
    timer.Elapsed += new System.Timers.ElapsedEventHandler(runProgram); // to call method runProgram
    timer.Interval = 10000; // every 10 seconds
    timer.AutoReset = true; // which auto-resets
    timer.Enabled = true; // Enable timer
    timer.Start(); // Start timer
    Console.ReadLine(); // Prevent program from terminating
}

程序应该被隐藏并且每10秒调用一次方法runProgram

当我将其编译为控制台应用程序时,它运行良好。但是当我尝试编译为Windows应用程序时,它不起作用。我的猜测是定时器在编译为Windows应用程序时不工作。

如何做到这一点?

c#隐藏程序定时器

没有控制台不能呼叫Console.ReadLine();

相反,您应该调用Application.Run()(运行消息循环)或Thread.Sleep(Timeout.Infinite)(永久挂起)。