Повторный рендеринг буфера обменаC++

Программы на C++. Форум разработчиков
Anonymous
Повторный рендеринг буфера обмена

Сообщение Anonymous »

У меня есть приложение, которое использует отложенный рендеринг буфера обмена для вставки текущего времени. Но: когда время было отображено один раз, оно всегда будет вставлять одно и то же время, а не обновленное время.
Я думаю, мне нужно будет вызвать SetClipboardData(CF_TEXT, nullptr); еще раз, чтобы восстановить еще один случай отложенного рендеринга, но я не знаю, когда и где мне это сделать. Могу ли я определить, когда целевое приложение взяло данные из буфера обмена?
Как вставлять текущее время каждый раз, когда пользователь нажимает Ctrl+V?

Код: Выделить всё

#include 
#include 
#include 
#include 
#include 
#include 

// Get current time with milliseconds (HH:MM:SS.xxx)
void GetTime(std::string& time_str)
{
auto now = std::chrono::system_clock::now();
auto in_time_t = std::chrono::system_clock::to_time_t(now);
auto milliseconds = std::chrono::duration_cast(now.time_since_epoch()) % 1000;
std::tm bt{};
localtime_s(&bt, &in_time_t);
std::ostringstream oss;
oss 

Подробнее здесь: [url]https://stackoverflow.com/questions/78750285/rendering-clipboard-repeatedly[/url]

Вернуться в «C++»