当前位置: 首页 » 产品 » 出口外贸 » 正文

纯Node.JS弹出Windows系统消息提示框实例

放大字体  缩小字体 发布日期: 2025-03-15 12:31   来源:http://www.baidu.com/  作者:无忧资讯  浏览次数:10
核心提示:Node.JS是一个控制台程序,如果想要从Node.JS弹出Windows系统提示框的话,有很多方法可以实现。比如借助 electron 或 node-webki

Node.JS是一个控制台程序,如果想要从Node.JS弹出Windows系统提示框的话,有很多方法可以实现。比如借助 electron 或 node-webkit:

在Electron中弹出消息框

Electron与Windows的接口非常完善,可以调用各种Window原生机制,如创建系统托盘图标。打开文件夹选择框等。这里使用dialog,即可弹出系统消息提示框:

const { app , BrowserWindow , Menu , Tray , shell , dialog , ipcMain }=require('electron') var parseCommand=function() { dialog.showMessageBox({ title : '错误' , type : 'error' , message : '此文件没有跟 onceDoc 绑定' }) } var initApp=function() { parseCommand() } app.on('ready', initApp)

使用electron运行上面的代码:

electron app.js

调用VB脚本弹出消息框

Electron的确实比较方便,但是体积比较大,消息弹出比较慢。我们可以通过child_process调用VB脚本弹出消息框。

比如,我们新建一个 VB 脚本文件,命名为: vb.message.vbs,内容如下:

msgbox Wscript.Arguments(1), vbInformation, Wscript.Arguments(0)

此脚本会将第一个和第二个参数作为提示框的标题和内容弹出,在Node.JS调用即可:

var cp=require('child_process') var initApp=function() { var vbsPath=path.join(__dirname, 'vb.message.vbs') cp.exec('cscript.exe ' + vbsPath + ' "提示" "此文件没有跟 onceDoc 绑定"', function(err, stdout, stderr) { if (err) { fs.writeFileSync('log.log', err.toString()) } }) } initApp()

使用ActiveXObject弹出消息框

VB脚本需要创建额外的文件,使用ActiveXObject则直接在Node.JS中编写脚本,比如:

var cp=require('child_process') var initApp=function() { cp.exec('mshta "javascript:var sh=new ActiveXObject("Wscript.Shell"); sh.Popup("Message!", 10, "Title!", 64 );close()"') } initApp()

除了弹出提示框外,借助vb和activex脚本均可实现一些高级功能,如连接本数据库等。此外借助msg.exe系统进程间通信也可

以实现消息提示框,不过某些系统可能没有安装msg.exe,并且此种方法不能自定义消息标题。

cp.exec('msg %username% "这是什么意思? 我不知道"')

内容来源:https://www.16jixie.com/news/show-3504.html
 
 
[ 产品搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 

 
    行业协会  备案信息  可信网站