Содержание материала

 

ВАЖНО: Не удаляйте буфер после GlobalAlloc(). Как только Вы поместите его в буфер обмена, то буфер обмена будет пользоваться им.

 

Для получения данных из потока, можно воспользоваться следующим кодом:

Code:

var

hbuf    : THandle;

bufptr  : Pointer;

mstream : TMemoryStream;

begin

hbuf := Clipboard.GetAsHandle(CF_MYFORMAT);

if hbuf <> 0 then begin

   bufptr := GlobalLock(hbuf);

   if bufptr <> nil then begin

     try

       mstream := TMemoryStream.Create;

       try

         mstream.WriteBuffer(bufptr^, GlobalSize(hbuf));

         mstream.Position := 0;

         {-- Читаем данные из mstream. --}

       finally

         mstream.Free;

       end;

     finally

       GlobalUnlock(hbuf);

     end;

   end;

end;

end;

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить