0

我已经为我的编辑框实现了粘贴例程。如果再次粘贴相同的缓冲区,我的意思是我一直按ctrl+ V,我怎样才能有效地处理这种情况,以便我的代码更快?

COleDataObject obj;
if (obj.AttachClipboard()) {
    if (obj.IsDataAvailable(CF_TEXT)) {
        HGLOBAL hmem = obj.GetGlobalData(CF_TEXT);
        CMemFile sf((BYTE*) ::GlobalLock(hmem), ::GlobalSize(hmem));
        LPSTR str = buffer.GetBufferSetLength(::GlobalSize(hmem));
        sf.Read(str, ::GlobalSize(hmem));
        ::GlobalUnlock(hmem);
// doing my work here using buffer
    }
4

0 回答 0