手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

剪贴板的流存储

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
, vClipboardFileItem.rSize); finally GlobalUnlock(vData); end; end; finally Clipboard.Close; end; Result := True; end; { ClipboardSaveToStream }

function ClipboardLoadFromStream(mStream: TStream): Boolean;
var
  vClipboardFileHead: TClipboardFileHead;
  vClipboardFileItem: TClipboardFileItem;
  I: Integer;
  vData: THandle;
begin
  Result := False;
  if not Assigned(mStream) then Exit;
  if mStream.Size <= SizeOf(vClipboardFileHead) then Exit;
  mStream.Read(vClipboardFileHead, SizeOf(vClipboardFileHead));
  if vClipboardFileHead.rIdent <> rDataIdnet then Exit;
  Clipboard.Clear;
  Clipboard.Open;
  try
    for I := 0 to vClipboardFileHead.rCount - 1 do begin
      mStream.Read(vClipboardFileItem, SizeOf(vClipboardFileItem) -
        SizeOf(vClipboardFileItem.rData));
      vData := GlobalAlloc(GMEM_MOVEABLE   GMEM_DDESHARE,
        vClipboardFileItem.rSize);
      try
        vClipboardFileItem.rData := GlobalLock(vData);
        try
          mStream.Read(vClipboardFileItem.rData^, vClipboardFileItem.rSize);
          SetClipboardData(vClipboardFileItem.rFormat, vData);
        finally
          GlobalUnlock(vData);
        end;
      finally
        GlobalFree(vData);
      end;
    end;
  finally
    Clipboard.Close;
  end;
  Result := True;
end; { ClipboardLoadFromStream }
///////End Source

///////Begin Demo
procedure TFormClipboard.ButtonSaveClick(Sender: TObject);
var
  vMemoryStream: TMemoryStream;

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!