Java实现鼠标右键快捷保存QQ微信截图和复制的文字

首先,我们能实现保存剪贴板内容,以下是我的源代码和解释


import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.FileWriter;import javax.imageio.ImageIO;public class Main{public static void main(String []args){if(args!=null&&args.length>0){try {Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();// 获取剪切板中的内容Transferable clipTf = sysClip.getContents(null);if(clipTf!=null){//剪贴板非空if (clipTf.isDataFlavorSupported(DataFlavor.imageFlavor)){//是图片数据String name="新的捕获屏幕";int i=1;Image image =(Image) clipTf.getTransferData(DataFlavor.imageFlavor);File file;if(args[0].endsWith("\\"))name=args[0]+name;elsename=args[0]+"\\"+name;file= new File(name+".png");while(file.exists()){//避免覆盖之前的文件file=new File(name+i+".png");i++;}BufferedImage bufferedImage = new BufferedImage(image.getWidth(null),image.getHeight(null), BufferedImage.TYPE_INT_ARGB);Graphics2D g = bufferedImage.createGraphics();g.drawImage(image, null, null);ImageIO.write((RenderedImage)bufferedImage, "png", file);}else if(clipTf.isDataFlavorSupported(DataFlavor.stringFlavor)){//依样画葫芦String Data=((String)clipTf.getTransferData(DataFlavor.stringFlavor)).replaceAll("\n", "\r\n");//之前遇到了写入的文件无法换行的问题//经查发现Windows的换行是\r\n,Java虚拟机是\n//所以此处替换String name="新的粘贴文档";int i=1;File file;if(args[0].endsWith("\\")){name=args[0]+name;}elsename=args[0]+"\\"+name;file= new File(name+".txt");while(file.exists()){file=new File(name+i+".txt");i++;}FileWriter writer;writer = new FileWriter(file);writer.write(Data);writer.flush();writer.close();}}} catch (Exception e) {// TODO Auto-generated catch block//e.printStackTrace();}}}
}

这时基础功能虽已完善,但在windows中,不能直接把参数传递给我们的可运行jar包,所以需要用工具把jar封装在Windows标准应用程序exe文件中(jar在MyEclipse中可直接导出)

这个工具叫exe4j Wizard

使用方法引用别人的博客

下载地址在这儿

然后我们需要有鼠标右键菜单,于是我们到注册表进行操作

Win+R打开快速运行

输入上图语句打开注册表

进入HKEY_CLASSES_ROOT\Directory\Background\shell

右键shell,新建项,名称随意

右键刚才建立的项,新建项,名称为“command”

分别单击这两项填写默认信息和图标icon

icon为新建字符串值,默认数据是显示的菜单项名称,&A表示快捷键A

command填写的打包好的exe文件和传入参数(%V是当前的路径,即鼠标焦点所在文件夹路径)中间用一个空格隔开

然后就可以看到菜单项啦

实测效果如图

如果这篇文章给你带来了灵感,请不要忘了给卑微(臭不要脸)的程序员(我)点个赞哦

这次经历的收获

大致了解了Windows注册表机制和软件安装原理(注册表的写入,信息的传递等)

Java实现鼠标右键快捷保存QQ微信截图和复制的文字相关推荐

  1. [转载]JAVA实现鼠标右键功能

    原文地址:JAVA实现鼠标右键功能作者:beexk 如何实现右键功能呢?(PopupMenu) 有两个步骤: 1.谁来实现,也就是该右键的source是什么. (直接把PopupMenu加到对象sou ...

  2. windows 10 添加鼠标右键快捷应用

    1.win+r regedit 打开注册表 2.\HKEY_CLASSES_ROOT\Directory\Background\shell 3.新建项 设置右键名称 图标等 4.新建 command ...

  3. python脚本设置鼠标右键快捷菜单的方法

    按照https://blog.csdn.net/weixin_34067049/article/details/87162800这个文章内容设置Windows下用Python开发右键菜单功能失败. 该 ...

  4. python实现区域截屏(类似于QQ微信截图)功能

    该功能是本人用python写的小工具集Jamtools里面的截屏部分整合,代码完全原创,分享出来. CSDN源码下载地址:https://download.csdn.net/download/Fand ...

  5. 在java中怎样做当鼠标选中文字单击鼠标右键出现菜单,定制鼠标右键“新建”菜单选项...

    当您在Windows桌面单击鼠标右键,选择"新建"来建立快捷方式或文件夹时,除了快捷方式与文件夹这2个选项之外,还有一个很长的文件菜单,包含了电脑中安装的一些应用软件,您可以很容易 ...

  6. 如何截图鼠标右键时显示的内容和截屏电脑全屏快捷键

    一.如何截图鼠标右键时显示的内容: 现在电脑上截图我一般用的都是QQ截图(Ctrl + Alt + A ),但使用中发现有些无法截图, 比如,鼠标右键菜单打开后,截图时鼠标右键菜单消失.因此我记录了下 ...

  7. qq 微信 无法访问个人文件夹

    昨天某个时刻开始,QQ会出现所有图片无法加载的状况,微信会出现截图发到聊天框是文件的问题. 一开始不以为然,直到第二天重启电脑发现两个软件都登陆不上去了.对应显示的是标题的关键字,因为问题已经解决就不 ...

  8. 右键新建里面没有word和excel_Windows10系统下如何将Sublime Text3添加到右键快捷菜单?...

    由于本人用的Sublime Text是汉化绿色版的,不仅仅是因为绿色版免去了安装步骤 解压即用,还因为里面整合了常用的高效率必备插件,但是发现右键竟然没有用Sublime Text打开的快捷菜单,这对 ...

  9. 添加鼠标右键菜单项(EditPlus为例)

    下载Editplus,发现大多是绿色版,这就导致鼠标右键快捷菜单了,使用起来不方面,上网搜集了下资料,解决方法很简单: 首先进入注册表:regedit 然后如图设置新项. 其中editplus是右键菜 ...

最新文章

  1. rabbitMQ在springboot中的使用
  2. windows redis 客户端_redis高并发的最佳解决方案
  3. “12306” 的架构到底有多牛逼?
  4. android如何获取默认的桌面程序
  5. labuladong 的算法小抄_关于算法笔试的几个套路,一点就透
  6. 一般化机器学习与神经网络
  7. irobot擦地机器人故障_33款扫地机器人口碑:售价6350元的戴森口碑垫底,小米、科沃斯谁更好用?...
  8. MyBatis知识点学习
  9. MIPS之u-boot流程分析
  10. GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流
  11. 【SEM】1 基本概念
  12. 多媒体处理常用软件:图像、文本、音频、视频、动画、微课
  13. 在直流电源(Vcc)和地之间并接电容的作用
  14. 苹果手机还原后无法激活
  15. 【Python+OpenCV+sklearn+easygui】人脸(口罩)识别+口罩下人脸补全的系统设计
  16. 【数字信号处理】MATLAB OLA(Overlap-Add)实现变调不变速/变速不变调
  17. htcm8 android8,HTC全面屏手机 U11 Plus曝光:6寸+骁龙835,安卓8.0系统
  18. 【工具】sci-hub:一个神奇的免费下载文献的网站
  19. 浙江大学 计算机学院 交互设计,浙江大学交互设计考研经历分享(原来跨考这么受欢迎)...
  20. 【调剂】内蒙古农业大学2020年硕士研究生调剂公告(一)

热门文章

  1. java从入门到精通学习路线
  2. 熊抱烧香源码c语言,李栋旭后台熊抱灿烈“亲密”耳语 显真情
  3. 神州信息董事长郭为率队拜访广电运通,围绕金融科技海外业务与金融联合解决方案进行探讨
  4. 【C语言篇(初级)】初识C语言——上
  5. 直播互动软件有哪些?
  6. Android操作系统11种传感器
  7. 用假名印名片犯法吗_用简单的javascript学习假名
  8. 生活中的杠杆原理//2021-1-28
  9. 武汉区块链开发公司谈区块链应用
  10. 背包问题看这一篇就够了(详细版)