【问题标题】:C# Hidden Program TimerC# 隐藏程序计时器
【发布时间】:2015-08-13 16:40:54
【问题描述】:

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

如何做到这一点?

【问题讨论】:

  • 编译成windows应用是什么意思?
  • “不起作用”是什么意思?
  • @SpaceSteak 项目属性> 应用程序> 输出类型:到“Windows 应用程序”?

标签: c# multithreading visual-studio timer hidden


【解决方案1】:

如果没有控制台,您将无法调用 Console.ReadLine();

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 2013-03-22
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    相关资源
    最近更新 更多