文章目录

  • 应用场景
  • 实现思路
  • 具体代码
  • 结尾

应用场景

公司项目需要放在一体机上,没有外接键盘与鼠标,并且要求客户端软件全屏。因此在某些需要输入中文的地方,使用系统自带的屏幕键盘无疑是最好的选择。

实现思路

由于electron-vue是采用的electron2.0.4,因此我们可以在渲染进程中随便调用node.js API.而无需其他的配置。
因为要兼容linux与windows两个平台。因此需要借助node的os模块
因为需要使用子进程打开屏幕键盘,因此需要借助node的child_process模块
通过以上两个node api我们就可以实现调用屏幕键盘的功能了

具体代码

首先编写调用屏幕键盘的函数

const { exec } = require('child_process')
const os = require('os')
class ControlVirtualKeyBoard {constructor() { }static OpenVirtualKeyBoard() {if (os.platform() === 'win32') {exec('osk.exe')} else {exec('onboard')}}
}export default ControlVirtualKeyBoard

其中osk.exe为在windows 64位上的调用屏幕键盘的命令。windows 32位系统没有验证。
而onboard为linux上调用屏幕键盘的命令。我只在ubuntu与deepin上测试过。如果你的linux系统没有onboard屏幕键盘,你可以先安装它。

之后你便可以把这部分代码导入你的vue文件中调用了。

结尾

electron-vue毕竟是基于electron2.0.4版本开发的,目前electron的版本已经9.0.3了,因此我建议使用新的electron-vue框架,
以下为链接
vue-cli-plugin-electron-builder

electron-vue中调用系统屏幕键盘(linux与windows)相关推荐

  1. 【MFC】MFC中调用系统软键盘的几种方法

    1.直接运行微软系统自带的虚拟键盘程序"osk.exe" 在普通MFC项目中可以调用ShellExecute或者WinExec方法来直接运行微软系统自带的虚拟键盘程序"o ...

  2. 安卓手机如何打开php文件夹,Android_Android中调用系统的文件浏览器及自制简单的文件浏览器,调用系统自带的文件浏览器- phpStudy...

    Android中调用系统的文件浏览器及自制简单的文件浏览器 调用系统自带的文件浏览器这很简单: /** 调用文件选择软件来选择文件 **/ private void showFileChooser() ...

  3. android外接键盘打汉字,Android在外接物理键盘时,如何强制调用系统软键盘

    Android在外接物理键盘时,如何强制调用系统软键盘? 第一次写,写的不好请见谅 参考: 物理键盘映射过程: 手机/system/usr/keylayout/*.kl :内核将keyCode映射成有 ...

  4. win7系统屏幕键盘打开教程

    我们在电脑没有接入键盘或者键盘失灵等情况下,如果想要输入内容,可以使用系统自带的屏幕键盘.只需要在控制面板中打开屏幕键盘就可以使用了,下面就让我们一起看看win7系统屏幕键盘打开教程吧. 1.首先点击 ...

  5. 系统软键盘Android在外接物理键盘时,如何强制调用系统软键盘?

    第一次写,写的不好请见谅 物理键盘映射过程: 手机/system/usr/keylayout/*.kl :内核将keyCode映射成有含义的字符串 KeycodeLabels.h : framewor ...

  6. Android在外接物理键盘时,如何强制调用系统软键盘

    Android在外接物理键盘时,如何强制调用系统软键盘? 可以加群:466059178,可以共同讨论,大神指导 第一次写,写的不好请见谅 参考: http://blog.csdn.net/DrakeB ...

  7. Visual studio之C# 调用系统软键盘(外部osk.exe)

    背景 App需要调用系统软键盘输入数据,自己去实现软键盘有些复杂,现在又是急需,没时间去研究实现软键盘,所以只能调用系统软键盘. 正文 需要添加命名空间, using System.Diagnosti ...

  8. Vue中如何进行屏幕录制与直播推流

    Vue中如何进行屏幕录制与直播推流 屏幕录制和直播推流是现代Web应用中常用的功能,例如在线教育.视频会议和游戏直播等.Vue作为一种流行的JavaScript框架,提供了一些工具和库,可以方便地实现 ...

  9. C#在winform中调用系统控制台输出

    SeayXu 原文C#在winform中调用系统控制台输出 在Winform程序中有时候调试会通过Console.Write()方式输出一些信息,这些信息是在Visual Studio的输出窗口显示. ...

  10. Android开发中调用系统窗口的方法

    //直接拨号 Intent callIntent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:12345678")); start ...

最新文章

  1. 为什么阿里强制 boolean 类型变量不能使用 is 开头?
  2. SUSE10中Oracle10g存储中文数据
  3. CodeProject上的最近几篇关于IronPython技术的文章
  4. [整理]苹果审核被拒后,返回崩溃日志应该怎么分析处理
  5. CentOS 6.5下安装MySQL后重置root密码方法
  6. 使用java做地图_在地图中使用Java
  7. Vue2父传子、子传父和兄弟间互传
  8. 【插件】Unity插件UnitySRDebugger的简单使用
  9. HBuilder开发App教程06-首页
  10. html下拉复选框联动,HTML : CheckBox 复选框成组联动(JavaScript)
  11. React+echarts+antd实现折线图
  12. python实现微信自动回复撩小姐姐
  13. Simulink自动代码生成2——生成嵌入式代码(generating embedded code)
  14. 语法转换_【语法专题】句型转换(上)
  15. [大数据] 搜索日志数据采集系统 flume+hbase+kafka架构 (数据搜狗实验室)
  16. Android http 403 错误 可能出现的原因
  17. iOS开发之C语言---for循环
  18. 【转载】osgeo和pyproj:经纬度坐标和高斯坐标互相转换
  19. 跨境电商如何通过实时聊天服务改善客户体验?
  20. Android:通过UsbManager识别当前4G模块型号(PCIE接口)

热门文章

  1. oracle数据库重启命令是什么
  2. Cisco QOS之LLQ
  3. 第一次爬虫之Select 小猪短租
  4. 被裁掉的大龄程序员,为什么不联合起来成立一个专收大龄程序员的公司?
  5. linux 程序设置快捷方式,Linux中设置程序的桌面快捷方式
  6. 品致教您如何选择合适的电流探头
  7. 网络协议抓包分析(二)抓取聊天信息
  8. linux每日命令(3):ln命令
  9. CentOS下Nginx+fastcgi+python3搭建web.py服务环境
  10. sd卡受损怎么修复?这个技巧一定要看