使用electron实现类似微信屏幕截图功能

本文分享了在Electron开发中实现屏幕截图功能的过程与解决方案。作者最初尝试通过加载exe文件利用child_process工具,但遇到回调参数为空字符串及TypeError错误。最终通过微信截图功能获得灵感,利用Electron剪切板API成功获取图片流。

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

由于我司业务需要,在使用electron开发桌面端应用中需要使用到屏幕截图功能,也算是踩了比较久的坑

在网上找到许多帮助的帖子,比如:https://www.jianshu.com/p/77a3f0fadcf1  

算是打开了第一条思路,通过加载现成的exe文件来实现屏幕剪切功能,在这里主要应用到的是child_process工具,这个是node中的功能,如果对此不了解的可自行百度,这个不难

但是在调通后根据文档拿到的回调参数一直是个空字符串并报错

Exception: TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them at Arguments.remoteFunction (<anonymous>:2:14)

这段报错指的是在严格模式下arguments.callee是不能够被引用的,所以这条路暂时走不通了只能另求他法了

 

然后我在玩微信的屏幕截图功能突然想我在本地剪切的图片虽然没有打印的数据,但是能不能和微信一样直接粘贴在文件夹中呢,于是我大胆尝试了一下:

确实可以粘贴到qq或者微信的输入框中,这岂不是说明在window底层还是拿到了截屏后的数据吗!!!激动,距离成功又更近了一步,我立刻去查看了electron的文档,找到了剪切版的api:

于是我写下了这么一段代码:

于是成功的拿到了图片流,-v-v-  

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值