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

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

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

使用electron实现类似微信屏幕截图功能_第1张图片

算是打开了第一条思路,通过加载现成的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 (:2:14)

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

 

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

使用electron实现类似微信屏幕截图功能_第2张图片

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

使用electron实现类似微信屏幕截图功能_第3张图片

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

使用electron实现类似微信屏幕截图功能_第4张图片

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

你可能感兴趣的:(使用electron实现类似微信屏幕截图功能)