Java实现鼠标右键快捷保存QQ微信截图和复制的文字
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微信截图和复制的文字相关推荐
- [转载]JAVA实现鼠标右键功能
原文地址:JAVA实现鼠标右键功能作者:beexk 如何实现右键功能呢?(PopupMenu) 有两个步骤: 1.谁来实现,也就是该右键的source是什么. (直接把PopupMenu加到对象sou ...
- windows 10 添加鼠标右键快捷应用
1.win+r regedit 打开注册表 2.\HKEY_CLASSES_ROOT\Directory\Background\shell 3.新建项 设置右键名称 图标等 4.新建 command ...
- python脚本设置鼠标右键快捷菜单的方法
按照https://blog.csdn.net/weixin_34067049/article/details/87162800这个文章内容设置Windows下用Python开发右键菜单功能失败. 该 ...
- python实现区域截屏(类似于QQ微信截图)功能
该功能是本人用python写的小工具集Jamtools里面的截屏部分整合,代码完全原创,分享出来. CSDN源码下载地址:https://download.csdn.net/download/Fand ...
- 在java中怎样做当鼠标选中文字单击鼠标右键出现菜单,定制鼠标右键“新建”菜单选项...
当您在Windows桌面单击鼠标右键,选择"新建"来建立快捷方式或文件夹时,除了快捷方式与文件夹这2个选项之外,还有一个很长的文件菜单,包含了电脑中安装的一些应用软件,您可以很容易 ...
- 如何截图鼠标右键时显示的内容和截屏电脑全屏快捷键
一.如何截图鼠标右键时显示的内容: 现在电脑上截图我一般用的都是QQ截图(Ctrl + Alt + A ),但使用中发现有些无法截图, 比如,鼠标右键菜单打开后,截图时鼠标右键菜单消失.因此我记录了下 ...
- qq 微信 无法访问个人文件夹
昨天某个时刻开始,QQ会出现所有图片无法加载的状况,微信会出现截图发到聊天框是文件的问题. 一开始不以为然,直到第二天重启电脑发现两个软件都登陆不上去了.对应显示的是标题的关键字,因为问题已经解决就不 ...
- 右键新建里面没有word和excel_Windows10系统下如何将Sublime Text3添加到右键快捷菜单?...
由于本人用的Sublime Text是汉化绿色版的,不仅仅是因为绿色版免去了安装步骤 解压即用,还因为里面整合了常用的高效率必备插件,但是发现右键竟然没有用Sublime Text打开的快捷菜单,这对 ...
- 添加鼠标右键菜单项(EditPlus为例)
下载Editplus,发现大多是绿色版,这就导致鼠标右键快捷菜单了,使用起来不方面,上网搜集了下资料,解决方法很简单: 首先进入注册表:regedit 然后如图设置新项. 其中editplus是右键菜 ...
最新文章
- rabbitMQ在springboot中的使用
- windows redis 客户端_redis高并发的最佳解决方案
- “12306” 的架构到底有多牛逼?
- android如何获取默认的桌面程序
- labuladong 的算法小抄_关于算法笔试的几个套路,一点就透
- 一般化机器学习与神经网络
- irobot擦地机器人故障_33款扫地机器人口碑:售价6350元的戴森口碑垫底,小米、科沃斯谁更好用?...
- MyBatis知识点学习
- MIPS之u-boot流程分析
- GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流
- 【SEM】1 基本概念
- 多媒体处理常用软件:图像、文本、音频、视频、动画、微课
- 在直流电源(Vcc)和地之间并接电容的作用
- 苹果手机还原后无法激活
- 【Python+OpenCV+sklearn+easygui】人脸(口罩)识别+口罩下人脸补全的系统设计
- 【数字信号处理】MATLAB OLA(Overlap-Add)实现变调不变速/变速不变调
- htcm8 android8,HTC全面屏手机 U11 Plus曝光:6寸+骁龙835,安卓8.0系统
- 【工具】sci-hub:一个神奇的免费下载文献的网站
- 浙江大学 计算机学院 交互设计,浙江大学交互设计考研经历分享(原来跨考这么受欢迎)...
- 【调剂】内蒙古农业大学2020年硕士研究生调剂公告(一)