Node监听鼠标键盘事件,定时发消息小程序,解决robotjs不支持输入汉字问题!

本文介绍了如何使用Node.js监听键盘按键和鼠标事件,以及如何利用node-schedule实现定时任务。在RobotJS不支持输入汉字的情况下,通过创建txt文件并结合系统命令实现复制到剪切板功能,解决了发送中文消息的问题。此外,还分享了如何在Node.js中创建键盘事件监听器,以及在实际应用中模拟发送聊天消息的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

吹啊!吹啊!我骄傲的放纵··· 写了一上午长篇大论,中午出去吃个饭回了都没了,桑心,蛋疼,心烦,心烦,心烦ing 说了多少遍叫我月城少主!月城少主!!!
开启第一步:nodejs实现复制文本到剪切板!
缘由: 为啥要复制到粘贴板呢,缘由就是robotjs这货不支持输入中文,这个没法说毕竟编程还是老外居多,期间我尝试用 pinyin+空格 按键组合; 就这pinyin能打出多少种情况,, 想想还是算了吧!
思路 定时发消息的思路是这个样子滴 ;用nodejs脚本发请求,并要写的东西放到电脑ctrl+c的内存里面;于是我只用在调试代码中,ctrl+v就行了。当然一切都是程序自己来;说到这里好多人就不用往下看了,因为一切都太简单了;但是有时候看看比较好 毕竟做了才看到有几个坑;
非常简单的功能,但nodejs没有提供。但不要绝望因为nodejs可以调用系统命令,而系统命令中有不少可以操作剪切板的命令,由于系统是windows,所以考虑使用windows cmd命令中的clip,来实现复制到剪切板的功能。

const exec = require(‘child_process').exec;
exec(‘echo 123456 | clip');

这个就可以了,超级简单啦,这里有问题来了,但这个命令的执行结果,有个我无法忍受的bug:复制出来的文本,最后有个换行符(echo造成的)!

const exec = require('child_process').exec;
exec('<nul (set/p z=123456) | clip');

So 这样呢,黏贴出来的东西后面有一个空格;这东西没啥大问题反正本人是接受了,不避免有些人无法接受,下面我就告诉大家 那个方法百度一下 到处都是复制就能用;虽然不想说 因为我是不想用 费那么大劲,占那么大内存就为了去一个空格,而且一般程序无影响, 哎 还是复制过来白话一下吧;

// 简单的复制文本到剪切板的函数,参数依次是文本,成功回调
var copyToClipboard = function(text, func) {
   
    
 // 这种方式最完美,但最麻烦
 // 会生成一个批处理文件,一个文本文件,以批处理文件复制文件文件的内容,后又需要删除两个文件。
 var temp = 'txt_' + Date.now() + '.txt';

 var str = `@echo off
<nul (set/p z=${text}) > ${temp} 
clip < ${temp} 
del ${temp}
`;
// 这句加入批处理,会导致报错,虽然能执行(复制)成功。原因应该是,del批处理文件自身的时候,nodejs还在使用他
// 'del "%~f0"';
 var cmdFile = 'ttzkxlcjv.cmd';
 fs.writeFile(cmdFile, str);
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值