如何在后台线程

时间:2018-02-11 01:34:15

标签: c++-cli

这可能是一个简单的问题,但我无法弄清楚。

我的主要功能中有一个表单:

void Main() {
    Mem = new MemoryManager();
    Console::WriteLine("Thread Started");
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    FinalSolution::ControlPanel form;
    Thread^ cLoop = gcnew Thread(gcnew ThreadStart(loop));
    cLoop->Start();
    Application::Run(%form);
}

我想要做的就是,如果有人按下一般键(不仅仅是在程序聚焦时),它会将背景更改为不同的颜色。

我尝试了一些事情,但到目前为止还没有任何工作。这是循环,我已经指出了我希望它发生的地方。

void loop() {
    while (true) {
        if (GetAsyncKeyState(key)) {
            //Here
            form.button->BackColor = System::Drawing::Color::ForestGreen;
        }
    }
}

当然问题是这个函数不知道是什么形式,但我不知道怎么说。

1 个答案:

答案 0 :(得分:0)

只需将循环直接放在表单标题中即可解决问题。