c++-cx - 线程池计时器不工作

标签 c++-cx uwp

我想编写定期执行的代码,因此一些搜索似乎表明 ThreadPoolTimer适合我的需要。这是我实现它的尝试:

MainPage::MainPage()
{
    // Timer code
    TimeSpan period;
    period.Duration = 100000000000; // 1 second
    ThreadPoolTimer::CreatePeriodicTimer(ref new TimerElapsedHandler(this, &MainPage::TestTimer), period);
}

// Dummy method to test timer
void MainPage::TestTimer(Windows::System::Threading::ThreadPoolTimer^ timer)
{
    OutputDebugString(L"Timer triggered\n");
}

我的期望是它每秒打印“定时器已触发”。但就我而言,什么也没有打印出来。为什么不起作用?

最佳答案

您的 TimeSpan 似乎不正确。我刚刚尝试了以下代码来生成 1 秒计时器。

MainPage::MainPage()
{
    InitializeComponent();

    TimeSpan period;
    period.Duration = 10000000; // 1 second
    ThreadPoolTimer::CreatePeriodicTimer(ref new TimerElapsedHandler(this, &MainPage::TestTimer), period);
}

void MainPage::TestTimer(Windows::System::Threading::ThreadPoolTimer^ timer)
{
    OutputDebugString(L"Timer triggered\n");
}

我相信您的代码正在生成一个 10000 秒的计时器。

关于c++-cx - 线程池计时器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33060209/

相关文章:

UWP 后台任务 - 应用程序触发器 - 当文件已存在时无法创建文件

c# - 在 UWP C# 中从路径绘制图形

c# - 在 Windows Phone 8 中获取 UI 调度程序

c# - 如何更新 gridview 中的绑定(bind)?

c++ - C++/CX 和 C++/WinRT 可以在同一个项目中使用吗?

c# - 使用调用堆栈进行 Azure Application Insights 调试

c++ - 有没有办法在 c++/cx 引用类上实现类似 .net 的属性?

xaml - 数据绑定(bind)到 ComboBox c++/cx XAML Metro 应用程序时 SelectedValue、SelectedIndex 的问题

c# - 如何在 UWP 上将 SQLite 与 Entity Framework 6 一起使用?

c# - Selenium 与 UWP 应用程序?