Программирование на Delphi и не только Добавление текста в буфер обмена без использования Clipbrd | Программирование на Delphi и не только

Delphi FAQ >> Операционная система

Данная функция на Delphi копирует указанный текст в буфер обмена без использования модуля Clipbrd.

{  Wnd — Handle окна, получающего доступ к буферу обмена,  может быть Application.Handle или Form.Handle  Value — текст, помещаемый в буфер обмена

}

function SetClipboardText(Wnd: HWND; Value: String): Boolean;
var   hData: HGlobal;   pData: Pointer;   Len: Integer;

begin

  Result := True;

  if OpenClipboard(Wnd) then


  begin
    try       Len := Length(Value) + 1;

      hData := GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE, Len);


      try         pData := GlobalLock(hData);

        try

          Move(PChar(Value)^, pData^, Len);           EmptyClipboard;           SetClipboardData(CF_Text, hData);

        finally

          GlobalUnlock(hData);

        end;


      except         GlobalFree(hData);

      raise


      end;
    finally       CloseClipboard;

    end;


  end else Result := False;
end;
Если вам нужна хорошая работа в Екатеринбурге, то посетите указанный сайт — вы сможете просмотреть текущие вакансии а также разместить свое резюме.