C# 隐藏程序定时器

C# Hidden Program Timer

我创建了一个 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 应用程序时不起作用。

如何实现?

没有控制台就无法调用 Console.ReadLine();

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