掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ファイルをクリップボードにコピーするには? (ID:14609)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
一個翻訳完了?・・・ 英語でなくC→Delphiだけど いっちょあがり。 とりあえずクリップボートからデータとるだけだけど あとでみて どこのユニットにあるのかわかりやすいように。 ユニット.型 ユニット.関数 で定義しています。 uses Clipbrd,ActiveX,ShellAPI; procedure TForm1.Button1Click(Sender: TObject); var DataObject : ActiveX.IDataObject; // LPDATAOBJECT FormatEtcIn : ActiveX.TFormatEtc; // FORMATETC medium : ActiveX.tagSTGMEDIUM; // STGMEDIUM nFiles , i : Integer; Buf : array[0..MAX_PATH+500] of Char; FileListsText : String; V : Variant; begin FileListsText := ''; if Clipboard.HasFormat(CF_HDROP) then begin FormatEtcIn.cfFormat := CF_HDROP; FormatEtcIn.ptd := nil; FormatEtcIn.dwAspect := DVASPECT_CONTENT; FormatEtcIn.lindex := -1; FormatEtcIn.tymed := TYMED_HGLOBAL; if ActiveX.OleGetClipboard(DataObject) = 0 then try V := DataObject.GetData(FormatEtcIn , medium); if Not VarIsClear(V) then begin nFiles := ShellAPI.DragQueryFile(medium.hGlobal , $FFFFFFFF, nil, 0); for i := 0 to nFiles-1 do begin DragQueryFile(medium.hGlobal , i, Buf, SizeOf(Buf)-1); if (i=0) then FileListsText := Buf else FileListsText := FileListsText + #13#10+ Buf; end; end; finally DataObject._Release; end; end; Memo1.Text := FileListsText; end; コピー、カット、情報がどこにあるのかまだわからないので 探し中。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.