新增文章
文章标题
分类
C#
云星空
K3 BOS
K3 功能
用友
Oracle
python
SQL
MySql
PHP
HTML
script
windows
Access
影视后期
财务
服务
生活
内容
// 设置剪切板内容 Clipboard.SetDataObject("文本内容"); // 读取剪切板内容 string str = Clipboard.GetText(); // 字符串集合 //https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.specialized.stringcollection?view=netcore-3.1 var sc = new System.Collections.Specialized.StringCollection(); sc.Add(@"C:\Users\root\Desktop\新建文本文档.txt"); // 设置剪切板文件路径 在程序外可以直接粘贴 Clipboard.SetFileDropList(sc); // 获取剪切板文件路径 在程序外可以复制后可以获取文件路径集合 var scs = Clipboard.GetFileDropList(); 注意User这个类前面的Serializable注解,如果没有这个注解,是没法成功将对象写入剪切板的。如果数据比较复杂,可以考虑把数据自行序列化到一个Stream对象去,再把Stream对象写入剪切板,获取的时候对Stream对象自行反序列化,还原数据。例子就不写了。 [Serializable] public class User { public int age { get; set; } public string name { get; set; } } 最后要注意的一点是由于这里的数据类型是“mydata”,你也可以指定别的名字,这种类型数据只有你自己的程序能读懂,也就是说,你是不能打开记事本或者Photoshop,直接把你这个User对象贴上去的。 class Program { [STAThread] static void Main(string[] args) { User userIn = new User(); userIn.name = "Jack"; userIn.age = 18; Clipboard.SetData("mydata", userIn); User userOut = (User)Clipboard.GetData("mydata"); Console.WriteLine(userOut.name +" | " + userOut.age); } }
返回
保存