CopyToClipboard zwiesza się dlaczego ?

CopyToClipboard zwiesza się dlaczego ?
wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 693
0
Kopiuj
void CopyToClipboardEasy(const std::string& text)
{
    if (!OpenClipboard(nullptr))
        return;

    EmptyClipboard();

    HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, text.size() + 1);
    if (!hMem)
    {
        CloseClipboard();
        return;
    }

    char* p = static_cast<char*>(GlobalLock(hMem));
    memcpy(p, text.c_str(), text.size() + 1);
    GlobalUnlock(hMem);

    if (!SetClipboardData(CF_TEXT, hMem))
        GlobalFree(hMem);

    CloseClipboard();
}

void CopyToClipboard()
{
    std::string text;

    // Opcjonalnie - zmniejsza liczbę realokacji
    int totalLen = 0;
    for (int i = 0; i < lineCount; ++i)
    {
        totalLen += textbuffor[i].GetLen();
        if (i < lineCount - 1)
            totalLen += 2; // CRLF
    }
    text.reserve(totalLen);

    for (int i = 0; i < lineCount; ++i)
    {
        text.append(textbuffor[i].GetData(), textbuffor[i].GetLen());

        if (i < lineCount - 1)
            text += "\r\n";
    }

    CopyToClipboardEasy(text);
}
wilkwielki
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 693
1

już mam klawisz ctrl+c zwiesza kod jest dobry koniec wątku

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.