zoukankan      html  css  js  c++  java
  • C#Winform+WindowsAPI做个剪贴板无缝自动保存器(视频截图利器)

    C#Winform+WindowsAPI做个剪贴板无缝自动保存器(视频截图利器)

    (本文最新代码已上传到GitHub,地址在(https://github.com/bitzhuwei/ClipboardImageSaver))

    利用C#和Window API做了个自动保存剪贴板内的图片的工具,用在给视频截图上是最好不过的了。共享之。

    clip_image001

    点击Start按钮,就会在剪贴板内容发生变化时自动把保存到指定位置(保存为jpg格式的图片),并且以指定的字符串作为文件的前缀,后面跟上序号。所以这个工具是和PrtSc截屏键紧密结合使用的,按一次PrtSc,就保存一张图片。就算一直按着不放,也能把每个截屏命令都执行到。

    另外,Distinct按钮可以把Path文件夹所在的所有文件检查一遍,自动删掉内容完全一样的文件。这个很实用吧。

    源码在此:https://files.cnblogs.com/bitzhuwei/bitzhuwei.Clipboard.Winform.zip

    release版程序在此:https://files.cnblogs.com/bitzhuwei/bitzhuwei.Clipboard.Winform-release.zip

    1. 将剪贴板内的图片保存到文件

    代码如下。

       1: void SaveClipboardImage()
       2: {
       3:     var data = System.Windows.Forms.Clipboard.GetDataObject();
       4:     var bmap = (Image)(data.GetData(typeof(System.Drawing.Bitmap)));
       5:     if (bmap != null)
       6:     {
       7:         bmap.Save("bitzhuwei.cnblogs.com.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
       8:         bmap.Dispose();
       9:     }
      10: }

    2. 监听剪贴板变化的事件

    override掉主窗体的WndProc事件,这样就能够实现当且仅当剪贴板内容发生变化时执行一次保存动作了。

    override掉在主窗口的WindProc事件

    3. 文件雷同判别

    用文件流一个字节一个字节的判断即可。大部分不同的文件,判断不了多少次就会出现字节不一样了,所以我对这个方法的效率还是有信心的。自己也试验过,对视频截图得到的1000多张图片(全屏的截图1280*800的图片),2分钟就把重复的文件都删掉了。

    删掉指定文件夹下所有内容相同的冗余文件
  • 相关阅读:
    day10 文件内指针移动 小练习 函数的基本使用 函数定义与调用的各三种形式 函数返回值 函数参数的使用
    day09 文件基本操作 上下文管理 文件的打开模式 文件修改的两种模式 今日作业
    day07 列表类型 练习题 元祖类型 元祖vs列表 字典类型 集合类型
    java笔试之参数解析(正则匹配)
    java笔试之提取不重复的整数
    java笔试之自守数
    java笔试之尼科彻斯定理
    java笔试之简单密码
    java笔试之求最大连续bit数
    java笔试之放苹果
  • 原文地址:https://www.cnblogs.com/bitzhuwei/p/Clipboard_Image_Saver.html
Copyright © 2011-2022 走看看