- 17.01.2023
- 3
- 1
- 27
- Награды
- 4
- 34
Репутация:
- Автор темы
- #1
Метод получает данные из буфера обмена и если они есть, сохраняет в текущий файл ClipBoard_Buffer_Data.txt рядом с .exe файлом.
C++:
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <ctime>
#include <sstream>
#include <thread>
class BufferEx // имя класса
{
public:
static void Inizialize() // имя метода
{
try
{
// Создаем новый поток для сбора
std::thread th_Buffer([]() // #include <thread>
{
// Проверяем буфер обмена на наличие текстовых данных
if (IsClipboardFormatAvailable(CF_TEXT))
{
if (OpenClipboard(nullptr))
{
HANDLE hClipboardData = GetClipboardData(CF_TEXT);
if (hClipboardData != nullptr)
{
char* text = static_cast<char*>(GlobalLock(hClipboardData));
if (text != nullptr)
{
std::string data(text);
GlobalUnlock(hClipboardData);
CloseClipboard();
if (!data.empty())
{
std::ostringstream oss;
oss << "[Detect Data ClipBoard] - [" << GetCurrentDateTime() << "]" << std::endl;
oss << "==================================================" << std::endl;
oss << data << std::endl;
oss << "==================================================" << std::endl;
std::string outText = oss.str();
if (!outText.empty()) // Проверяем данные на пустоту
{
SaveToFile("ClipBoard_Buffer_Data.txt", outText); // Записываем данные в файл
}
}
}
}
CloseClipboard();
}
}
});
th_Buffer.join();
}
catch (...)
{
}
}
private:
static std::string GetCurrentDateTime()
{
std::time_t now = std::time(nullptr);
std::tm timeInfo;
localtime_s(&timeInfo, &now);
char buffer[80];
std::strftime(buffer, sizeof(buffer), "%m.%d.%Y - %H:%M:%S", &timeInfo);
return buffer;
}
static void SaveToFile(const std::string& filename, const std::string& content)
{
std::ofstream file(filename, std::ios::app);
if (file)
{
file << content;
}
file.close();
}
};
int main()
{
BufferEx::Inizialize();
std::cin.get(); // Ожидание
return 0;
}
Последние темы в этом разделе:
- TGwDS - объединение телеграм группы и дискорда
- SF-SPN - Оповещения при входе / выходе игрока с сервера.
- Скрипт Телеграм бот для отслеживания статистики игры в Dota 2
- Запрет на запуск дубликат программы (Mutex)
- Dotabuff Parser - Парсер статистики пиков Dota 2
- Простой чат-спамер для Twitch
- Скрипт Telegram бот для отправки NSFW в публичные чаты
- Простой спамер для анонимных чатов Telegram
- JCorePanel - Удобная панель для управления большим количеством аккаунтов Steam
- WinBooster Optimizer