C#隐藏程序计时器

时间:2015-08-13 16:40:54

标签: c# multithreading visual-studio timer hidden

我已经创建了一个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应用程序时计时器无效。

如何做到这一点?

1 个答案:

答案 0 :(得分:1)

如果没有控制台,则无法呼叫Console.ReadLine();

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