Top.Mail.Ru
Ответы
Аватар пользователя
7мес

Как сделать таймер на с++

Я хочу сделать таймер который не будет мешать UI-потоку. Я выбрал что будет лучше всего сделать на co_await. Делаю графическое приложение WinForms в Visual Studio 2022 (17.14.13) на с++

Если нужно вот подключённые библиотеки и пространства имён
#using <System.dll>

#include <cliext/vector>

#include <windows.h>

#include <string>

#include <iostream>

#include <thread>

#include <chrono>

#include <future>

#include <coroutine>

using namespace System::Timers;

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

Если нужны определённые библиотеки скажите какие,

Помогите кто может.



По дате
По рейтингу
Аватар пользователя
Мастер
7мес

Если таймер будет связан с интерфейсом, используйте обычный виндовый таймер на сообщениях из winuser.h. Он же может делать обратные вызовы вашей функции.

Чтобы совсем не мешать интерфейсу, интерфейс должен выполняться в отдельном потоке, так и делают программы сложнее калькулятора.

Аватар пользователя
Ученик
7мес

Спасибо

Аватар пользователя
Мастер
7мес

>Делаю графическое приложение WinForms в Visual Studio 2022 (17.14.13) на с++

Не нужно так делать. Либо c++, либо дотнет на шарпе и подобных языках для управляемого кода. Для плюсов свои библиотеки UI.

Если привязались к WinForms - то полностью забываем про c++, стандартную библиотеку и тем более про WinAPI, всё делается через дотнет его собственными классами, тот же Timer из System::Timers и прочее на управляемом коде.

Аватар пользователя
Ученик
7мес

спасибо



Видео по теме