C#如何保存剪贴板内容,在使用后恢复。

本文介绍了在C#中如何利用clipboard类处理剪贴板操作的问题,特别是针对自定义类型数据。当需要占用剪贴板并确保在使用后能原样恢复原有内容时,通过学习C++的思路,采用WinAPI来实现这一功能。
摘要由CSDN通过智能技术生成

   C# clipboard类封装了对剪贴板的操作,一般使用没有问题。但由于clipboard封装的数据类型有限,对于一些自定义类型的剪贴板数据,如果想占用剪贴板并在使用后原样恢复剪贴板的数据就会产生问题。试验了很多方法后,尝试学习别人C++的思路。使用winapi来处理剪贴本解决问题。


 using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;


namespace 学习
{
    class MyClip
    {
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        static public extern IntPtr SetClipboardData(uint Format, IntPtr hData);
        [DllImport("user32.dll", SetLastError = true)]
        static extern uint EnumClipboardFormats(uint format);  //枚举剪贴板内数据类型
        [DllImport("user32.dll", SetLastError = true)]
        private static extern Int32 OpenClipboard(IntPtr hWndNewOwner);
        [DllImport("user32.dll", SetLastError = true)]
        private static extern IntPtr GetClipboardData(uint uFormat);
        [DllImport("user
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值