复制粘贴文件的问题

lihongtao8209 2015-06-08 10:49:48
比如说在c:\下有一个1.txt文本。
我想实现如下功能。
用C#将1.txt 复制。
打开D:\盘,右键->粘贴,把1.txt粘贴下来。
也就是说,用C#语言模拟右键->复制的功能。
不知道我的表达是否清晰,各位大侠与无好的办法。
...全文
164 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiyanyun 2015-06-09
  • 打赏
  • 举报
回复

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            LoadFile();
        }

        private void LoadFile()
        {
            DirectoryInfo di = new DirectoryInfo(@"D:\");
            if (di == null)
            {
                return;
            }
            DirectoryInfo[] fi = di.GetDirectories();
            foreach (DirectoryInfo item in fi)
            {
                ListViewItem lvi = new ListViewItem(item.Name);
                lvi.SubItems.Add(item.FullName);
                this.listView1.Items.Add(lvi);
            }

            FileInfo[] files = di.GetFiles();
            if (files != null)
            {
                foreach (FileInfo item in files)
                {
                    ListViewItem lvi1 = new ListViewItem(item.Name);
                    lvi1.SubItems.Add(item.FullName);
                    this.listView1.Items.Add(lvi1);
                }
            }
        }

        private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            System.Collections.Specialized.StringCollection sc = new System.Collections.Specialized.StringCollection();
            sc.Add(listView1.SelectedItems[0].SubItems[1].Text);
            Clipboard.SetFileDropList(sc);
        }
    }
}

lihongtao8209 2015-06-08
  • 打赏
  • 举报
回复
好的,我会再好好考虑一下的。
於黾 2015-06-08
  • 打赏
  • 举报
回复
另外,复制完文件后还要一系列操作才能确定要复制到哪个盘符下 这需求完全理解不了 你到底是自动复制,还是根据用户操作来确定复制到哪里去? 如果是用户操作,完全可以用户多点一个按钮,来判断到底是简单copy还是网络通信 如果是自动,根本没有什么一系列操作,你程序一开始就应该知道要干些什么才对
於黾 2015-06-08
  • 打赏
  • 举报
回复
要复制到FTP,你可以搜一搜C#FTP上传 不要啥功能都先想模拟用户鼠标键盘操作,这是最不靠谱的方法
lihongtao8209 2015-06-08
  • 打赏
  • 举报
回复
可能复制完文件后还要一系列操作才能确定要复制到哪个盘符下,同时可能要复制的远程的FTP服务器上去。所以要求变成二段式。
於黾 2015-06-08
  • 打赏
  • 举报
回复
为啥要"打开D盘"???这需求完全理解不了 如果只是要把文件复制到D盘 直接File.Copy()就i可以
tcmakebest 2015-06-08
  • 打赏
  • 举报
回复
        /// <summary>
        /// 复制文件至剪贴板
        /// </summary>
        /// <param name="files">文件路径的数组</param>
        static void CopyToClipboard(string[] files)
        {
            var a = new System.Collections.Specialized.StringCollection();
            a.AddRange(files);
            Clipboard.SetFileDropList(a);
        }

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧