精华内容
下载资源
问答
  • windows剪切板的历史记录

    千次阅读 2020-12-05 11:30:43
    windows剪切板的历史记录 最近遇到一件比较坑的事情。当然可能也是我本人粗心大意了吧。但是这种事情难免要发生。比如说你要移动一个比较重要的东西,但是之间因为别的事情耽搁了一下,而自己的重要的东西还放在剪切...

    windows剪切板的历史记录

    最近遇到一件比较坑的事情。当然可能也是我本人粗心大意了吧。但是这种事情难免要发生。比如说你要移动一个比较重要的东西,然后按了ctrl+x,但是之间因为别的事情耽搁了一下,而自己的重要的东西还放在剪切板里面,自己回来的时候没注意直接复制操作了其他的东西。Ctrl +z 也没有用,结果剪切板里的东西直接就没了?= =本来还想有历史记录可以挽救一下,后来发现windows默认历史记录是关闭状态的!

    -_-|| 我的小心脏,,

    其实按道理来说,剪切板的缓冲区默认应该是打开的,可是事实上windows默认确实关闭的。我手机上的输入法软件就默认支持剪切板的缓冲区。

    为应对以上的情况,只需要将剪切板的缓冲打开就行了,这样就可以查看剪切板的历史记录了。

    1.开始进入设置

    在这里插入图片描述

    2.进入系统

    在这里插入图片描述

    3.点击剪切板,打开历史记录

    在这里插入图片描述

    于是就可以通过windows + V的快捷键查看当前的剪切板历史记录了= =

    展开全文
  • Windows 剪切板的应用,获取到浏览器中通过右键复制的图片,获取从本地目录复制图片到界面上。详情见博客:http://blog.csdn.net/GoForwardToStep/article/details/58705003。
  • windows剪切板api

    千次阅读 2016-11-12 15:48:54
    Windows 剪切板API详解 2013-06-01 21:12 3133人阅读 评论(1) 收藏 举报  剪切、复制、粘贴都是我们在操作电脑的时候经常会用到的功能。但是你知道当我们剪切或者复制的 时候,数据会保存到什么地方吗?当...
     

    Windows 剪切板API详解

    (一) ChangeClipboardChain 
    将剪贴的连接从一个句柄转到下一个句柄。 
    BOOL ChangeClipboardChain( 
    HWND hWndRemove, // handle to window to remove 
    HWND hWndNewNext // handle to next window 
    ); 
    (1)hWndRemove表 示第一个窗口的句柄(断开)。 
    (2)hWndNewNext表示第二个窗口的句柄(连接)。 
    注意,在使用之前应该使用 SetClipboardViewer事先进行窗口句柄的连接。 
    (二)CloseClipboard 
    关闭剪贴板。 
    BOOL CloseClipboard(VOID)//VOID意思是空白。 
    本函数没有参数,事先应该用OpenClipboard函数打开过剪贴 板。 
    (三)CountClipboardFormats 
    不管剪贴板是什么格式,全部转化为数据格式。 
    int CountClipboardFormats(VOID) 
    本函数没有参数。 
    (四)EmptyClipboard 
    清空剪贴 板。 
    BOOL EmptyClipboard(VOID) 
    本函数没有参数。 
    (五)EnumClipboardFormats 
    使剪贴板内的格式转变成指定格式。 
    UINT EnumClipboardFormats( 
    UINT format // specifies a known available clipboard format 
    ); 
    其中format表示的是将要转化 成的格式。该参数的意义可参照后面。 
    (六)GetClipboardData 
    获取剪贴板内的数据。 
    HANDLE GetClipboardData( 
    UINT uFormat // clipboard format 
    ); 
    其中 format表示的是剪贴板内数据的格式。该参数的意义可参照后面。 
    (七)GetClipboardFormatName 
    获取剪贴板 内数据格式的名称。 
    int GetClipboardFormatName( 
    UINT format, // clipboard format to retrieve 
    LPTSTR lpszFormatName, // address of buffer for name 
    int cchMaxCount // length of name string in characters 
    ); 
    (1)format 表示的意义同前,应该是不事先规定格式; 
    (2)lpszFormatName表示的是格式名称地址; 
    (3)cchMaxCount剪 贴板内数据的长度。 
    (八)GetClipboardOwner 
    获取当前剪贴板是属于哪一个窗口的句柄。 
    HWND GetClipboardOwner(VOID) 
    返回那个窗口的句柄。 
    (九)GetClipboardSequenceNumber 
    返回剪贴板序号。 
    DWORD GetClipboardSequenceNumber(VOID) 
    (十)GetClipboardViewer 
    返回剪贴板属于窗口的句柄。 
    HWND GetClipboardViewer(VOID) 
    (十 一)GetOpenClipboardWindow 
    返回打开剪贴板的那个窗口句柄。 
    HWND GetOpenClipboardWindow(VOID) 
    (十二)GetPriorityClipboardFormat 
    int GetPriorityClipboardFormat( 
    UINT *paFormatPriorityList, // address of priority list 
    int cFormats // number of entries in list 
    ); 
    (十三)IsClipboardFormatAvailable 
    判断剪贴板的格式。 
    BOOL IsClipboardFormatAvailable( 
    UINT format // clipboard format 
    ); 
    其中format表示的是剪贴板内数据的格式。该参数的意义可参照后面。 
    (十四)OpenClipboard 
    打开剪贴板。 
    BOOL OpenClipboard( 
    HWND hWndNewOwner // handle to window opening clipboard 
    ); 
    返回剪贴板的句柄。 
    (十五)RegisterClipboardFormat 
    注册新的剪贴板格式。 
    UINT RegisterClipboardFormat( 
    LPCTSTR lpszFormat // address of name string 
    ); 
    lpszFormat新的剪贴板格式名称。 
    (十六)SetClipboardData 
    设置剪贴板内的数据。 
    HANDLE SetClipboardData( 
    UINT uFormat, // clipboard format 
    HANDLE hMem // data handle 
    ); 
    uFormat 表示的是要放进剪贴板数据的格式; 
    hMem表示数据的地址指针。 
    (十七)SetClipboardViewer 
    将剪贴板内 容连接到窗口。 
    HWND SetClipboardViewer( 
    HWND hWndNewViewer // handle to clipboard viewer window 
    ); 
    
    

    参数1为剪切板的数据格式,可以是以下格式:

    CF_TEXT 以NULL结尾的ANSI字符集字符串。它在每行末尾包含一个carriage return和linefeed字符,这是最简单的剪切板数据格式
    CF_OEMTEXT 含有文字数据(与CF_TEXT类似)的内存块。但是它使用的是OEM字符集。
    CF_UNICODETEXT 含有Unicode文字的内存快。与CF_TEXT类似,它在每一行的末尾包含一个carriage return和linefeed字符,以及一个NULL字符(两个0字节)以表示数据结束。CF_UNICODETEXT针对UNICONDE格式
    CF_SYLK 包含Microsoft 「符号连结」数据格式的整体内存块。这种格式用在Microsoft的Multiplan、Chart和Excel程序之间交换数据,它是一种ASCII码格式。
    CF_DIF 包含数据交换格式(DIF)之数据的整体内存块。用于把数据送到VisiCalc电子表格程序中。这也是一种ASCII码格式
    CF_BITMAP 与设备相关的位图格式。位图是通过位图句柄传送给剪贴簿的。
    CF_DIB 定义一个设备无关位图的内存块。
    CF_PALETTE 调色盘句柄。
    CF_METAFILEPICT 以旧的metafile格式存放的「图片」。
    CF_ENHMETAFILE 增强型metafile(32位Windows支持的)句柄。
    CF_PENDATA 与Windows的笔式输入扩充功能联合使用
    CF_WAVE 声音(波形)文件。
    CF_RIFF 使用资源交换文件格式(Resource Interchange File Format)的多媒体数据。
    CF_HDROP 与拖放服务相关的文件列表。

    该数据表使用谷歌自动翻译完成,如果英文较好,可查看MSDN文档:Standard Clipboard Formats(Windows)


    展开全文
  • 关于Windows剪切板操作的例程,包括使用传统方法和使用OLE对象方法。
  • Windows剪切板操作

    2019-10-05 21:00:54
    调用WinAPI实现剪切板操作的函数: BOOL OpenClipboard(HWND hWndNewOwner); //打开剪切板 BOOL EmptyClipboard(VOID); //清空剪切板 HANDLE SetClipboardData(UINT uFormat, HANDLE hMem); ...

    调用WinAPI实现剪切板操作的函数:

    BOOL OpenClipboard(HWND hWndNewOwner);               //打开剪切板
    BOOL EmptyClipboard(VOID);                           //清空剪切板
    HANDLE SetClipboardData(UINT uFormat, HANDLE hMem);  //设置剪切板内容
    HANDLE GetClipboardData(UINT uFormat);               //返回剪切板内容的内存块句柄
    BOOL CloseClipboard();                               //关闭剪切板

    常用的剪切板数据类型(还包括很多其它类型,详情可参考MSDN)

    CF_TEXT        //一段ANSI文本
    CF_OEMTEXT     //一段DOS文本
    CF_UNICODETEXT //一段Unicode文本
    CF_LOCALE      //区域标识
    CF_BITMAP      //位图
    CF_DIB         //设备无关位图

    需要使用Win32内存块与剪贴板交互,常用Win32内存块操作函数(另有LocalAlloc等,功能完全相同):

    HGLOBAL GlobalAlloc(分配选项, 分配内存大小);  //分配全局内存并返回它的句柄或指针
    HGLOBAL GlobalFree(内存块句柄);  //释放全局内存
    SIZE_T GlobalSize(内存块句柄);  //返回全局内存的大小
    LPVOID GlobalLock(内存块句柄);  //获得全局内存所有权,并返回指向全局内存的指针
    BOOL GlobalUnlock(内存块句柄);  //释放全局内存所有权,GlobalAlloc分配选项如果是GHND,则分配可变内存,清零内存并返回全局内存句柄,需要GlobalLock以获取指针
                                  //GlocalAlloc分配选项如果是GPTR,则分配固定内存,清零内存并直接返回指针

    复制(向剪贴板内容)操作流程

    一、创建一块内存块

    1. 分配一个适当大小的内存块(GlobalAlloc, GHND)
    2. 锁定它并获得所有权(GlobalLock)
    3. 将要复制的内容拷贝到该内存
    4. 释放内存的所有权(GlobalUnlock)

    二、将剪切板内容设置为它

    1. 打开剪贴板(OpenClipboard)
    2. 清空剪贴板(EmptyCliboard)
    3. 将该内存块设为剪贴板的数据(SetClipboardData)
    4. 关闭剪贴板(CloseClipboard)

    粘贴(读剪贴板内容)操作流程

    1. 打开剪贴板(OpenClipboard)
    2. 获取包含剪贴板内容的内存块句柄(GetClipboardData)
    3. 锁定该内存块并获得指针(GlobalLock)
    4. 读取该内存的内容
    5. 关闭剪贴板(CloseClipboard)

    实例代码:

    bool CopyTextToClipboard(const char *text)
    {
        int i = 0, j = 0;
        for (; i < 6; i++)
        {
            //打开剪切板
            j = OpenClipboard(NULL);
    
            //判断是否打开成功,如果打开失败则重新尝试5次
            if (j == 0 && i < 5)
                Sleep(60);
            if (j == 0 && i == 5)
                return false;
            if (j != 0)
            {
                i = 0;
                j = 0;
                break;
            }
        }
        //分配字节数,HGLOBAL表示一个内存块
        HGLOBAL hmem = GlobalAlloc(GHND, strlen(text) + 1);
    
        //锁定内存中指定的内存块,并返回一个地址值令其指向内存块的起始处
        char *pmem = (char *)GlobalLock(hmem);
    
        //清空剪切板并释放剪切板内数据的句柄
        EmptyClipboard();
        memcpy(pmem, text, strlen(text) + 1);
        SetClipboardData(CF_TEXT, hmem);        //写入数据
        CloseClipboard();                       //关闭剪切板
        GlobalFree(hmem);                       //释放内存块
    
        return true;     //返回成功
    }

    转载于:https://www.cnblogs.com/coolcpp/p/clipboard.html

    展开全文
  • 原名Windows剪切板记录器,把以前的东东改进了一下,希望能帮到大家。能够智能的获取剪切板里面的字符内容,并进行文本格式化操作。就是你复制过的字符资料,只要开着这个软件,他就能帮你在复制一份到这里来,而且...
  • WINDOWS 剪切板操作

    2014-04-21 10:23:49
    WINDOWS SDK 提供的几个剪切板操作函数: OpenClipboard 打开剪切板 CloseClipboard 关闭剪切板 EmptyClipboard 清空剪切板内容 GetClipboardData 获取剪切板内容 SetClipboardData 设置剪切板内容 ...
    1. 基本API介绍
    在WINDOWS SDK 提供的几个剪切板操作函数:

    OpenClipboard 打开剪切板
    CloseClipboard 关闭剪切板
    EmptyClipboard 清空剪切板内容
    GetClipboardData 获取剪切板内容
    SetClipboardData 设置剪切板内容
    IsClipboardFormatAvailable 判断剪切板的内容是否为某种格式
    CountClipboardFormats 获取剪切板当前内容有多少种类型
    EnumClipboardFormats 枚举剪切板中的格式
    GetClipboardFormatName 获取剪切板的格式的名称
    GetPriorityClipboardFormat 获取在一个列表下某个索引的剪切板格式
    RegisterClipboardFormat 注册(追加)剪切板格式
    高级应用下使用的函数(做剪切板监视程序的时候使用):
    ChangeClipboardChain 改变剪切板监视链句柄
    GetClipboardOwner 获取剪切板的当前者句柄
    GetClipboardViewer 获取剪切板的原来第一个监视者句柄
    SetClipboardViewer 追加剪切板的监视者句柄
    GetOpenClipboardWindow 获取打开剪切板的当前窗口句柄
    GetClipboardSequenceNumber 获取当前窗体在剪切板链下的序列号
    2. 剪切板使用例子
    //打开剪切板
    if(OpenClipboard())
    {
         HGLOBAL hClip;
         TCHAR *pBuf;
    TCHAR szHardWareID[1024] =”this is a sample!”;
         //清空剪切板内容
         EmptyClipboard();
         //分配新全局内存空间
         hClip=GlobalAlloc(GHND, 1024);            
         //锁住全局内存空间
         pBuf=(TCHAR *)GlobalLock(hClip);
         //将内容写入全局内存空间
         memcpy(pBuf, szHardWareID, strlen(szHardWareID));
           //将空间中的内容写入剪切板
    #ifndef UNICODE
             SetClipboardData(CF_TEXT, hClip);         //设置数据
    #else
             SetClipboardData(CF_UNICODETEXT, hClip);         //设置数据
    #endif
             //解锁全局内存空间
             GlobalUnlock(hClip);         //解锁
             //释放全局内存空间
    GlobalFree(hClip);
             //关闭剪切板
             CloseClipboard();  
    }
    3.例子解释
    这个简单的例子展现了把字符信息写入剪切板,剪切板函数的使用顺序也非常明了
    1)     OpenClipboard 先打开剪切板
    2)     EmptyClipboard 清空原来已经有的内容
    3)     SetClipboardData 写入现在的内容
    4)     CloseClipboard 关闭剪切板
    需要注意的是GlobalAlloc、GlobalFree、GlobalLock、GlobalUnlock这四个函数,
    1)     GlobalAlloc 分配全局内存
    2)     GlobalFree 释放全局内存
    3)     GlobalLock 锁住全局内存
    4)     GlobalUnlock 解锁全局内存
    因为剪切板的内容其实也是保存在内存中的,为了使所有的进程都可以使用该内容,所以使用GlobalAlloc分配全局内存(不能用new),使用完后也必须GlobalFree释放(本人猜想分配的空间已经被Clipboard托管了,释放调了hClip句柄和其他内容)。
    GlobalLock锁住了该块内存(防止写入,对全局内存的操作都要先加锁),该函数返回一个指向分配的内存块的第一个字节的指针,在操作完内存后GlobalUnlock 解锁。
    展开全文
  • 如何获取windows剪切板中内容

    千次阅读 2015-12-20 11:03:50
    一个简单的获取windows剪切板中文本内容的代码 // 获取剪切板中的内容 public static String getClipboardText() { Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable ...
  • Python使用Windows剪切板

    千次阅读 2016-12-28 21:03:52
    1、文本内容 # coding=utf-8 import win32clipboard as w import win32con ...def getText(): # 读取剪切板 w.OpenClipboard() d = w.GetClipboardData(win32con.CF_TEXT) w.CloseClipboard()
  • python3 在使用网上找到的一些使用剪切板的片段时发现存在写入剪切板后乱码的情况, 研究后发现python3不能使用SetClipboardData方法, 要使用SetClipboardText import sys import os.path import win32clipboard ...
  • Windows 剪切板相关API说明

    千次阅读 2014-09-03 19:22:30
    Windows API——OpenClipboard——剪切板
  • Chrome浏览器的密码可以复制到Windows剪切板中,是安全隐患还是安全升级?Chrome浏览器一直以简便安全著称,不过最近谷歌和微软有开始“亲密无间”的合作了,Chrome浏览器中...
  • 1.从剪切板获得文字。 2.将字符串复制到剪切板。 3.从剪切板获得图片。 4.复制图片到剪切板。 [java]view plaincopy /** *从剪切板获得文字。 */ publicstaticStringgetSysClipboardText(){...
  • 新建控制台可以直接运行,显示当前剪切板中的富文本。字符串为utf-8,可以视情况转GBK #include <windows.h> #include <iostream> std::wstring StringToWString(const std::string& s) { std::...
  • Windows 剪切板API详解

    千次阅读 2013-06-01 21:12:29
    这都源自于系统中给我们提供了一个暂存数据的存储区域,我们称之为剪 切板,当新的内容送到剪切板后,新的内容将会覆盖掉旧的内容,即剪切板只能保存一份内容。因为剪切板是在内存当中,所以,电脑关闭或者是重启...
  • 一、简述最近看了windows剪切板相关的应用代码,于是乎,便想将浏览器中复制的图片保存到本地,经过尝试,通过以下代码完成在浏览器中右键选择复制图片,然后监控键盘事件,当按下Ctrl + v 时保存到本地,并显示到...
  • VB.net 监视Windows剪切板中数据变化

    千次阅读 2016-02-27 23:30:01
    新建一个Winform,拉进去一个PictureBox控件,完整代码如下,实现效果即当剪切板中更新图片数据的时候,picturebox中自动显示出来剪切板中的图片 Public Class clipboardMon #Region " Definitions " 'Constants for ...
  • 1 import win32clipboard as w 2 import win32con 3 4 base_addr = 0x8e00000 5 buffer_len = 0x123 6 7 def getText(): 8 w.OpenClipboard() ... 9 d = w.GetClipboardData(win32con.CF_T...
  • 关闭有道词典
  • [转]windows剪切板

    2010-05-10 20:09:00
    Windows剪贴是一种比较简单同时也是开销比较小的IPC(InterProcess Communication,进程间通讯)机制。Windows系统支持剪贴IPC的基本机制是由系统预留的一块全局共享内存,用来暂存在各进程间进行交换的数据:...
  • 背景:使用putty工具连接到linux 再使用vi编辑器打开一个txt文档 操作: 按i进入编辑模式 按shift+ins 直接粘贴
  • JNA(Java Native Access):建立在JNI之上的Java开源框架,SUN主导开发,用来调用C、C++代码,尤其是底层库文件(windows中叫dll文件,linux下是so【shared object】文件)。 JNI是Java调用原生函数的唯一机制,JNA...
  • Delphi的windows剪切板操作函数

    千次阅读 2013-03-01 10:44:58
    :若应用程序从未使用过剪贴,则调用该函数形成新的剪贴;若之前使用过剪贴则返回使用过的剪贴。 属性: AsText:将剪贴版的内容作为一个字符串输出;方法:HasFormat:指示剪贴中是否包含指定格式的数据...
  • win32clipboard ...cp.OpenClipboard() # 打开剪切板 """ SetClipboardData方法向剪贴板写入数据,后面两个参数,第一个表示数据类型, 建议使用win32con.CF_UNICODETEXT,这样基本可以原样输出...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,678
精华内容 11,871
关键字:

windows剪切板