-5

Delphiでファイルをコピーする方法を知っている人はいますか? ファイルまたはフォルダーで Ctrl+C を押すと、どこかに貼り付けることができます。私は Clipbrd Unit でテキストをコピーする方法を知っていますが、ファイル、フォルダーではわかりません! 私を助けてください !

4

2 に答える 2

6

形式を使用しCF_HDROPてファイル/フォルダーのフル パスCF_SHELLIDLISTを保存するか、形式を使用してファイル/フォルダーのITEMIDLIST. 詳細については、MSDN を参照してください。

シェル クリップボード形式

または、 、、または他の同様の関数を使用してフォルダー/ファイル パスをITEMIDLIST値に変換し、 を使用してそれらからを作成し、それを に渡します。SHParseDisplayName()ILCreateFromPath()SHCreateDataObject()IDataObjectOleSetClipboard()

于 2013-09-01T06:50:32.263 に答える
3

クリップボードとドラッグ アンド ドロップには多くの共通点があります。ドラッグ&ドロップをサポートするほとんどのライブラリには、クリップボードに必要なものもすべて含まれています。たとえば、次のライブラリを確認してください: http://melander.dk/delphi/dragdrop/

無料で、完全なソースコードがあり、クリップボード操作を含む多くの例があります。

例の 1 つは DragDrop\Demos\Unicode\DragDropUnicode.dproj で、「クリップボードにコピー」というポップアップ コマンドがあります。

procedure TForm1.ActionFileCopyExecute(Sender: TObject);
begin
  if (FFiles = '') then
    DropFileSource1.Files.Text := LoadResString(0)
  else
    DropFileSource1.Files.Text := FFiles;

  DropFileSource1.CopyToClipboard;
end;

それが役に立てば幸い。

于 2013-09-01T07:51:24.000 に答える