我已经创建了一个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应用程序时计时器无效。
如何做到这一点?
答案 0 :(得分:1)
如果没有控制台,则无法呼叫Console.ReadLine();
。
相反,您应该调用Application.Run()
(运行消息循环)或Thread.Sleep(Timeout.Infinite)
(永久挂起)。