比如我复制了D:\123.txt
在应用程序里怎么从剪切板里得到这个路径呢?

解决方案 »

  1.   

    Edit1.CutToClipboard;//剪切到剪贴板
    Edit1.CopyToClipboard; //拷贝到剪贴板
    Edit1.PasteFromClipboard;//从剪贴板粘贴
      

  2.   


    //取复制到粘贴板文件名称列表到StrList中
    procedure GetClipFileNames(StrList : TStrings);
    var
      hDrop : UInt;
      FileName : array [0..MAX_PATH] of AnsiChar;
      i , nCount : integer;
    begin
      StrList.Clear;
      if not OpenClipboard(0) then exit;
      hDrop := GetClipboardData(CF_HDROP);
      if hDrop=0 then exit;
      nCount := DragQueryFile(hDrop , DWORD(-1) , NIL , 0);
      for i:=0 to nCount-1 do begin
        DragQueryFile(hDrop , i , @FileName , MAX_PATH);
        StrList.Add(FileName);
      end;
      CloseClipboard();
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      SL : TStringList;
      i : integer;
    begin
      SL := TStringList.Create;
      GetClipFileNames(SL);
      for i:=0 to SL.Count-1 do begin
        ShowMessage(SL.Strings[i]);
      end;
      SL.Free;
    end;由于使用了TStringList.Add(PAnsiChar),因此对WideString的Delphi版本有编译提示,